gpt4 book ai didi

ruby-on-rails - CanCan:限制用户根据角色设置某些模型属性的能力

转载 作者:行者123 更新时间:2023-12-03 12:51:52 26 4
gpt4 key购买 nike

我有一个 发表 带有 :published 的型号属性( bool 值)和 用户 带有 role 的型号属性(字符串)。共有三个角色:ROLES = %w[admin publisher author]
我不想要角色为 的用户作者 能够设置或编辑 :published Post 模型上的字段。

我正在使用 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

有人对做这种事情有任何提示吗?

最佳答案

到目前为止,这是不可能的。但据此:https://github.com/ryanb/cancan/issues/326此功能应该在 cancan 2.0 中。

更新:你可以在这里看到 CanCan 2.0 分支:https://github.com/ryanb/cancan/tree/2.0在“资源属性”部分

关于ruby-on-rails - CanCan:限制用户根据角色设置某些模型属性的能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5921591/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com