我正在使用before_action过滤器来调用authenticate,这是一种方法,如果未授权用户位于所请求的页面上,该方法将将用户重定向回其首页。

我想从此步骤中排除页面,仅出于测试目的。

到目前为止,我所看到的是我可以使用exceptbefore_action过滤器中排除某些 Controller Action ,例如:

before_action :authenticate, except: :demo_login

我也可以一次排除多个 Action :
before_action :authenticate, except [:demo_login, :demo_show]

如何排除特定 Controller 中的所有 Action ?

最佳答案

在相关 Controller 中使用skip_before_action :authenticate

此方法的格式与before_action相同,因此,如果要跳过针对特定 Controller 操作的:authenticate调用,请使用:
skip_before_action :authenticate, only: [:show, :index]
也可以使用except:关键字。

关于ruby-on-rails - 从before_action中排除 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36878355/

10-13 07:59