declarative_authorization Authorization.current_user错误

时间:2011-09-03 22:50:49

标签: ruby-on-rails-3 authlogic declarative-authorization

我有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},那么它真的可以吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

application_controller.rb

添加before_filter :set_current_user

将此方法置于受保护的

def set_current_user
  Authorization.current_user = current_user 
end