1

私の承認ルール:

role :tester do
  has_permission_on [:regression_test_test_runs, :regression_test_jobs], :to => :manage
  has_permission_on [:authorization_rules], :to => [:read, :manage]
  has_permission_on [:users], :to => :edit do
    if_attribute :user => is {user}
  end
end

私のユーザーコントローラー

filter_access_to :all, :attribute_check => true

それでも許可が拒否されるのはなぜですか?遊んでみましたが、自分のプロファイルを編集するテスターである現在のユーザーを取得できません。

4

1 に答える 1

0

おそらく、承認ルールを次のように変更する必要があります。

role :tester do
  ...
  has_permission_on [:users], :to => :edit do
    if_attribute :id => is {user.id}
  end
end

userにはuserという名前の属性がないと思います。そのため、元の例は失敗していました。代わりに、ユーザーのIDを現在のユーザーのIDと比較する必要があります。

于 2011-03-03T07:42:16.677 に答える