【发布时间】:2011-06-01 22:56:23
【问题描述】:
我在我的 cancan 控制器中定义用户权限时遇到了问题:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user
if user.role? :admin
can :manage, :all
else
can :read, :all
can :update, User do |user|
user.try(:user) == user
end
end
end
end
这会导致 NoMethodError:
undefined method `user' for #<User:0x000001050914c8>
当我尝试编辑/更新用户时。其他一切似乎都很好。
任何帮助表示赞赏
鲍勃
【问题讨论】:
-
user.try(:user) == user是干什么用的?在您的User模型中是否有一个名为user的方法?
标签: ruby-on-rails cancan