こんにちは、私は rolify を使用していますが、実際にはその可能性を十分に活用していないことに気付きました。
現在、私はコントローラーでユーザーを再ルーティングするなどのことを行っていますcurrent_user.has_role? :whatever_role
、およびユーザーが他の役割を持っている場合はユーザーを許可します...
誰かが roify について stackoverflow で質問をしましたが、それに答えようとしたときに、自分のやり方が間違っていることに気付きました。
さて、ここから私の混乱が始まります...
user ||= User.new # guest user (not logged in)
if user.has_role? :consumer
can :manage, Review
else
can :read, Review
end
ここで、コンシューマー ロールをユーザーに追加するとします。
x=User.last
x.add_role :consumer
# => #<Role id: 10, name: "consumer", resource_id: nil, resource_type: nil, created_at: "2013-04-18 23:00:46", updated_at: "2013-04-18 23:00:46">
ロールが作成されます。これを確認するには、次のようにします。
x.has_role? :consumer
=> true
これで、レビューの管理機能が得られると思います...
x.has_role? :consumer, Review
=> true
他のモデルではありません...ここで私は製品を試します
x.has_role? :consumer, Product
=> true
さらに、「リソースロールのクエリ」を見て、レビューのために適用されたロールをクエリしようとすると、適用されたロールが見つかりません。
Review.first.applied_roles
=> []
誰かロリファイを説明してくれませんか。ありがとう