我有authlogic设置并想使用declarative_authorization。在Ryan Bates的第188号铁路广播中,他使用了
before_filter {|c| Authorization.current_user = c.current_user}
如果我这样做,我会收到错误:
`private method 'current_user' called for #<UsersController:0xa6025e8>`
current_user方法在应用程序控制器中并且是私有的(如在Authlogic设置示例中),如果我公开它,这是有效的。如果我只说current_user(current_user方法也是一个帮助器)而不是前一个过滤器块中的c.current_user,它也可以工作。
如果我只做before_filter {Authorization.current_user = current_user}
,那么它真的可以吗?
答案 0 :(得分:1)
试试这个:
添加before_filter :set_current_user
将此方法置于受保护的
中def set_current_user
Authorization.current_user = current_user
end