before_filter语法,当你想要"除"控制器"abc"

Gre*_*reg 27 ruby-on-rails ruby-on-rails-3

在Rails中,当你想要"除"控制器"abc"时,什么是before_filter语法.

例如,在application_controller中,如果我想说:

before_filter :login_required :except => ["-name of controller-"]
Run Code Online (Sandbox Code Playgroud)

背景 - 只需要整个应用程序的基本身份验证,除了实际处理用户身份验证的控制器....

Bal*_*ick 58

您可以将以下行放在before_filter不应执行的控制器中:

skip_before_filter :login_required
Run Code Online (Sandbox Code Playgroud)

您甚至可以指定before_filter忽略的方法:only:except选项:

skip_before_filter :login_required, :only => [:login]
Run Code Online (Sandbox Code Playgroud)

这里有一个例子.


编辑:使用Rails 4,before_filter别名before_action,并且skip_before_filter也有别名skip_before_action


小智 14

before_filter语法

before_filter :login_required, :except => ["-name of the action-"]
Run Code Online (Sandbox Code Playgroud)

看看Rails API Doc.