我有一些控制器用于特定目的,每个控制器都有一个“def index”功能。 like / index使用主页并调用未经身份验证的主页。 / jobs / index是另一个,/ users / index是另一个。他们每个人都使用不同的控制器,如JobsController,HomeController,UsersController。
我的ApplicationController有一个before_Filter
before_filter :authenticate_user!, :except => [:index]
这个问题是,当我调用/ jobs / index或/ users / index(或任何其他/ * /索引页面)时,这也会跳过。有没有办法让我只能将“/ except”子句应用于“home #index”请求(即HomeController - >索引页面)。我试过了,
before_filter :authenticate_user!, :except => ["home#index"] but it doesn't work.
答案 0 :(得分:19)
您可以使用
skip_before_filter :authenticate_user! , :only => [:index]
在home_controller
中跳过了该操作的before_filter ...