2010-10-02 2 views
2

Lorsqu'un utilisateur a désactivé les cookies dans son navigateur et utilise mon application Rails, il reçoit une erreur: ActionController :: InvalidAuthenticityToken car les données de session ne peuvent pas être stockées dans un cookie.Rails: Comment donner à l'utilisateur une page de notification ou d'erreur personnalisée pour activer les cookies

Je sais que Rails a la possibilité de désactiver les données de session ou de modifier le magasin de sessions, mais ce n'est pas une option pour moi. Je souhaite informer l'utilisateur qu'il doit activer les cookies lorsqu'ils sont désactivés dans son navigateur ou au moins une page d'erreur personnalisée. Au lieu de cela, ActionController :: InvalidAuthenticityToken affiche le message d'erreur "Dans votre navigateur, les cookies sont désactivés, veuillez activer cette option pour que la page fonctionne correctement".

Comment puis-je faire cela? Quelqu'un peut-il fournir un extrait de code, puisque je suis un débutant dans Rails, et créé ma première application avec un tutoriel?

Répondre

0

Lorsque cela se produit, cela apparaîtra dans les journaux (422 erreur):

Can't verify CSRF token authenticity 
Completed 422 Unprocessable Entity in 9ms 

Un moyen rapide et facile à manipuler serait de modifier votre page publique/de 422.html dans le dossier public pour afficher votre message d'erreur de cookie. Il devrait être généré par des rails par défaut lorsque vous créez une application.

Si vous ne l'avez pas, vous devriez pouvoir créer simplement le fichier dans public/422.html et les rails devraient l'utiliser (3.0+ si je ne me trompe pas).

Questions connexes