カテゴリを持つ Rails 3 アプリケーションがあります。カテゴリは、カテゴリ所有者の役割を持つユーザーが管理できます。ただし、カテゴリ所有者は、自分が所有するカテゴリにのみアクセスでき、他のカテゴリにはアクセスできない必要があります。CanCan を使用して管理機能をロックダウンできますが、特定のカテゴリ自体を制限する必要があります。
1612 次
1 に答える
5
2 つの方法のいずれかでそれを行うことができます。
Ability属性のハッシュを指定して、クラスでのアクセスを制限できます。
can :manage, Category, :user_id => user.id
または、ブロックを使用できます。
can :manage, Category do |c|
c && c.user_id == user.id
end
これらはどちらも、チェックuser_id対象のカテゴリの属性が、チェック対象のユーザーと一致するかどうかをチェックします。
これらについては、CanCan ドキュメントの「ハッシュによるアビリティの定義」および「ブロックによるアビリティの定義」でそれぞれ説明されています。
于 2010-10-05T16:14:57.117 に答える