我正在使用声明性授权来管理应用程序中的用户权限 我有一个帖子模型,它可以由它的所有者管理。
has_permission_on :post, :to => :manage do
if_attribute :creator_id => is{user.id}
end
但是,我的模型中也有以下内容:
class Post < ActiveRecord::Base
def publish!
update_attributes(:published, true)
end
end
我想允许一些不是帖子创建者的用户发布它 我不能只允许他们更新对象,但他们不应该能够更改除发布状态之外的其他字段。
似乎没有办法允许仅编辑模型中的某些字段。
答案 0 :(得分:0)
我通过使用模型授权和控制器来解决问题 我允许所有创作者和管理员编辑帖子 然后,在控制器中,我指定只有帖子创建者才能访问更新操作,只有管理员才能访问发布操作。