如何使用 CanCan 授予用户权限
我正在使用 CanCan 来获取用户许可。我设置得很好并且有:
def initialize(user)
# Define abilities for the passed in user here. For example:
user ||= User.new # guest user (not logged in)
if user.role? :admin
can :manage, :all
else
can :create, Post
can :read, Post
end
def role?(role)
return !!self.roles.find_by_name(role.to_s.camelize)
end
我的问题是如何真正给用户一个角色,这意味着现在所有用户都属于 else 类别...我如何使用户与 :admin 关联?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
执行此操作的简单方法是向您的用户添加字符串
role
属性。然后,在您的用户模型中:
并删除能力模型中的
role?
方法,您的示例不需要它。The easy way to do this is to add a string
role
attribute to your user.Then, in your user model:
And delete the
role?
method in the Ability model, you don't need it for your example.