【发布时间】:2011-05-07 14:11:12
【问题描述】:
我有一个带有 :published 属性 (boolean) 的 Post 模型和一个带有 role 属性 (字符串)。共有三个角色:ROLES = %w[admin publisher author]
我不希望角色为作者的用户能够设置、或编辑 Post 模型上的 :published 字段。
我正在使用 CanCan(和 RailsAdmin gem),我简化的 Ability.rb 文件如下所示:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
if user.role? :admin
can :manage, :all
elsif user.role? :publisher
can :manage, Post
elsif user.role? :author
# I want to prevent these guys from setting the :published attribute
end
end
end
任何人有做这种事情的任何提示吗?
【问题讨论】:
标签: ruby-on-rails cancan