cancancan 创建权限不能正常使用条件散列
cancancan create permission not working properly with conditions hash
我希望管理员用户能够为此帐户创建新用户并从该帐户读取、更新用户。
can [:create, :read, :update], User, id: account_users_ids
如果 account_users_ids 不是空数组, 将不起作用。
我需要拆分权限才能正常工作
can :create, User
can [:read, :update], User, id: account_users_ids
将条件定义为
有什么问题
can [:create, :read, :update], User, id: account_user_ids
谢谢
这可能有点晚了,但是在 Ruby 2.0+ 中,您的条件散列被解释为关键字参数,在这种情况下 CanCanCan 会忽略它。
添加括号应该可以使其按预期工作:
can [:create, :read, :update], User, { id: account_user_ids }
另请参阅:
关键字参数:https://robots.thoughtbot.com/ruby-2-keyword-arguments
CanCan::Ability#can
: https://github.com/CanCanCommunity/cancancan/blob/develop/lib/cancan/ability.rb#L132-L134
我希望管理员用户能够为此帐户创建新用户并从该帐户读取、更新用户。
can [:create, :read, :update], User, id: account_users_ids
如果 account_users_ids 不是空数组,将不起作用。 我需要拆分权限才能正常工作
can :create, User
can [:read, :update], User, id: account_users_ids
将条件定义为
有什么问题can [:create, :read, :update], User, id: account_user_ids
谢谢
这可能有点晚了,但是在 Ruby 2.0+ 中,您的条件散列被解释为关键字参数,在这种情况下 CanCanCan 会忽略它。
添加括号应该可以使其按预期工作:
can [:create, :read, :update], User, { id: account_user_ids }
另请参阅:
关键字参数:https://robots.thoughtbot.com/ruby-2-keyword-arguments
CanCan::Ability#can
: https://github.com/CanCanCommunity/cancancan/blob/develop/lib/cancan/ability.rb#L132-L134