从before_action中排除控制器

Mat*_*t C 19 controller ruby-on-rails ruby-on-rails-4

我正在使用before_action过滤器来调用authenticate哪种方法,如果用户无权访问所请求的页面,则会将用户重定向回主页.

我想从此步骤中排除一个页面,仅用于测试目的.

到目前为止我所看到的是,我可以使用except以排除某些控制器操作受到before_action过滤器的影响,如下所示:

before_action :authenticate, except: :demo_login
Run Code Online (Sandbox Code Playgroud)

我也可以像这样一次排除多个动作:

before_action :authenticate, except [:demo_login, :demo_show]
Run Code Online (Sandbox Code Playgroud)

如何排除特定控制器中的所有操作?

Ant*_*y E 41

使用skip_before_action :authenticate的相关负责人.

before_action如果要跳过调用:authenticate特定控制器操作,此方法的格式与此相同,请使用:

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

except:关键字也可以使用.