某些型号的属性能力,我有一个邮政模型与:published
属性(布尔)和用户模型与role
属性(串)。有三种角色:ROLES = %w[admin publisher author]
惨惨:限制用户对设置基于角色
我不想让用户的作用是作者应能设置,或编辑,在:published
场对早报模型。
我使用的康康舞(和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
任何人有什么秘诀做这样的事情?
好的,谢谢你,我会关注CanCan v2.0。谢谢 – stephenmurdoch 2011-05-07 14:34:11
我知道这并不完美,但我认为你仍然可以使用'can not << your attribute >>,:klass bee',因为它们在等待2.0时仍然是ruby中的方法。 – 2012-12-22 06:51:06