web-dev-qa-db-fra.com

Exclure un contrôleur de before_action

J'utilise le before_action filtre pour appeler authenticate qui est une méthode qui redirigera les utilisateurs vers leur page d'accueil s'ils ne sont pas autorisés à être sur la page demandée.

Je voudrais exclure une page de cette étape, uniquement à des fins de test.

Ce que j'ai vu jusqu'à présent, c'est que je peux utiliser except pour exclure certaines actions du contrôleur d'être soumises au before_action filtre comme:

before_action :authenticate, except: :demo_login

Je peux également exclure plusieurs actions à la fois comme ceci:

before_action :authenticate, except [:demo_login, :demo_show]

Comment puis-je exclure toutes les actions dans un contrôleur spécifique?

17
Matt C

Utilisation skip_before_action :authenticate dans le contrôleur correspondant.

Le format de cette méthode est le même que before_action donc si vous voulez ignorer les appels :authenticate pour une action de contrôleur spécifique, utilisez:

skip_before_action :authenticate, only: [:show, :index]

Le except: le mot clé peut également être utilisé.

35
Anthony E