cancancan创建权限无法正常使用条件哈希

时间:2016-02-10 12:55:59

标签: ruby ruby-on-rails-4 cancancan

我希望管理员用户能够为此帐户创建新用户并阅读,从此帐户更新用户。

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

感谢

1 个答案:

答案 0 :(得分:0)

这可能有点晚了,但在Ruby 2.0+中,您的条件哈希被解释为关键字参数,CanCanCan在此实例中忽略。

添加括号应该允许它按预期工作:

can [:create, :read, :update], User, { id: account_user_ids }

另见:

关键字参数:https://robots.thoughtbot.com/ruby-2-keyword-arguments

CanCan::Ability#canhttps://github.com/CanCanCommunity/cancancan/blob/develop/lib/cancan/ability.rb#L132-L134