J'ai une situation, où une liaison particulière entraîne une session vide Hash. Ce n'est pas bon car j'ai besoin de trouver un modèle en utilisant la session_id.
Le lien qui cause des problèmes est: p> et le code qui trouve le modèle de L'ID de session (qui s'appelle à l'aide d'un fichier avant_filter): p> en mode de débogueur, Si je modifie le lien_to pour être un http 'Get' au lieu de "mettre", la session est envoyée.
Toutefois, cette demande n'est pas appropriée pour un "get" car il modifie les données. P> Pourquoi "deviendrait" inclure la session, mais "ne" pas " p> p> session code> ==
{} code> P>
3 Réponses :
OK, trouva-le. Étant donné que le lien est un puits HTTP-MET, les rails n'incluent pas automatiquement le jeton d'authenticité, car il le fait avec un http-get. Donc, en passant le jeton d'authenticité en tant que param, rails reconnaît la session.
<div id="marker_images"> <% @marker_image_urls.each do |image_url| %> <%= link_to( image_tag(image_url), location_type_path(@location_type.id, :location_type => {:preset_marker_url => image_url}, :authenticity_token => form_authenticity_token), :method => :put, :remote => true ) %> <% end %> </div>
Eu le même problème. Le fichier rails.js (jQuery) n'a pas inclus le jeton dans chaque cas qu'il devrait, ce qui a provoqué des problèmes. gist.github.com/865699
Devons-nous passer l'authenticité_Token en plus du jeton X-CSRF?
Le lien vers le site Kolodvor est cassé.
Cela arrive si vous avez oublié d'ajouter <% = csrf_meta_tags%> code> à votre présentation. Ajoutez-le comme
Ceci est causé par la protection CSRF dans les rails. Voir Cette notification de correctif de sécurité p>
Pour corriger définitivement ce problème, suivez les instructions sur le lien ci-dessus. Les dernières versions de rails.js ont été correctées pour ajouter le paramètre authenticity_token à toutes les demandes Ajax générées par des rails. P>
Si vous mettez à niveau une version rapide des rails, vous devrez peut-être inclure csrf_meta_tag code> dans votre présentation comme suggéré par Vikrant Chaudhary. P>
Je pense que vous devez donner plus d'informations supplémentaires. Seule cette méthode link_to n'est pas suffisante.
J'ai ajouté les informations sur GET VS Mettez. Quelles autres informations aideraient?