我正在尝试创建一个操作,如果用户已登录,将检查每个页面。
为此,我在控制器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
中调用不同控制器的方法的正确语法是什么?
答案 0 :(得分:7)
如果您将已有的所有内容移至application_controller,它将检查您应用中的每个控制器。然后使用:skip_before_filter method绕过检查所需的控制器/操作。