before_filter с другим контроллером - PullRequest
5 голосов
/ 13 января 2011

Я пытаюсь создать действие, которое будет проверять каждую страницу, если пользователь вошел в систему. Для этого в контроллере Home я создал этот метод:

def check_session
  if !session[:user_id]
    redirect_to :action=> 'login'
  end
end

И я поместил этот код в заголовок контроллера:

before_filter :check_session, :except => [:sub_layout, :authenticate, :login]

Теперь я хочу использовать check_session вне страниц Home, скажем, на страницах Users. Каков правильный синтаксис для вызова метода другого контроллера в before_filter?

1 Ответ

7 голосов
/ 13 января 2011

Если вы переместите все, что у вас уже есть, в application_controller, он проверит все контроллеры в вашем приложении.Затем используйте метод : skip_before_filter , чтобы обойти проверку для любых необходимых вам контроллеров / действий.

...