Comment passer d'un before_filter pour Concevoir de SessionsController?
J'ai un before_filter
dans mon ApplicationController
; c'est, pour chaque contrôleur dans mon projet.
Comment puis-je skip_before_filter
pour Concevoir de SessionsController
créer l'action ?
Vous devez vous connecter pour publier un commentaire.
Nous avons fait quelque chose comme ceci:
D'abord, créer votre propre session contrôleur, assurez-vous d'hériter correctement:
Puis réparer les routes
Vous pouvez également singe-patch Concevoir session du contrôleur.
Ici est une méthode que mon collègue vient de me montra:
to_prepare
bloc serait tellement lent pour vous, mais pour info, selon les Rails guides, tels blocs "sera exécuté lors de chaque demande dans le développement, mais une seule fois (lors de l'amorçage) de la production et de test."Devise::SessionsController
avecDeviseTokenAuth::SessionsController
et cela a fonctionné à merveille!Devise::SessionsController.skip_before_filter :check_toc, only: [:new]
J'ai récemment eu ce problème avec le filtre de mon
application_controller
je l'ai résolu en utilisantskip_before_filter
Voici une autre façon dans le répertoire lib/devise_sessions_controller_decorator.rb:
Car les classes ne sont pas mis en cache dans le mode de développement, vous devrez peut-être ajouter quelque chose de ce genre de config/environments/développement.rb:
Avant que mon collègue m'a montré le chemin que j'ai posté dans mon autre réponse, je l'ai fait. Je poste ceci dans le cas où vous pensez que c'est plus simple.
Vous pouvez simplement vérifier dans votre méthode de filtre si elle est de concevoir un contrôleur ou pas.
nouvelle réponse
que sur l'ajustement de la before_filter dans une, à moins que le bloc de filtrage par
params[:controller]
vieille réponse
juste autoriser les actions qui doivent utiliser l'avant du filtre
et de autoriser votre autres.
de trouver cela ici