0

私はこのルールを持っています:

can :see_contacts, Profile do |profile|
  false
end

そして、このチェック:

- if can? :see_contacts, @profile
   # user contacts

問題は、ユーザーの連絡先が常に表示されることです。なんで?

4

1 に答える 1

0

ああ、常にドキュメントを読んでください。これは私の場合です。

:manage に関する重要なお知らせ。上で読んだように、オブジェクトに対するすべてのアクションを表します。したがって、次のようなものがある場合:

can :manage, User
can :invite, User

最後の :invite ルールをテストすると、常に true になります。なんで?これは、:manage がオブジェクトに対するすべてのアクションを表し、:manage が単にオブジェクトに対する:create、:read、:update、:destroy ではないためです。

于 2013-10-26T07:36:47.227 に答える