8

我有一些用于特定目的的控制器,每个控制器都有一个“def index”功能。like /index 使用主页并调用未经身份验证的主页。/jobs/index 是另一个,/users/index 是另一个。他们每个人都使用不同的控制器,如 JobsController、HomeController、UsersController。

我的 ApplicationController 有一个 before_Filter

before_filter :authenticate_user!, :except => [:index]

问题在于,当我调用 /jobs/index 或 /users/index (或任何其他 /*/index 页面)时,它也会跳过。有没有办法让我可以将“/except”子句仅应用于“home#index”请求(即 HomeController -> 索引页面)。我试过,

before_filter :authenticate_user!, :except => ["home#index"] but it doesn't work.
4

1 回答 1

20

您可以使用

skip_before_filter :authenticate_user! , :only => [:index]

在您home_controller跳过该操作的 before_filter 中...

于 2012-09-27T17:52:09.260 回答