私は、特定の権限の範囲内でいくつかのカスタムロールを与えようとしています。どこでもこの答えを見つけることができません
role_ability.rb
class RoleAbility
include CanCan::Ability
def initialize(user)
user || User.new # for guest
if user.has_role? "admin"
can :manage, :all
elsif user.has_role? "retailer"
can :manage, Product
else
can :read, :all
end
end
end
これは、「マネージャー」の役割を持つユーザーに製品と他の特定のモデルのみを管理させるという一般的なアイデアかもしれないと思いました...
変えたら
elsif user.has_role? "retailer"
can :manage, Product
に
elsif user.has_role? "retailer"
can :manage, :all
期待どおりに動作します...すべての管理領域にアクセスできます
私は「小売業者」が製品を管理できるようにしたいだけです!;)
「admin」はユーザーに関連付けられた役割のみです。つまり、すべての役割はユーザーです。
あなたはおそらくこれがどこに向かっているのかを見ることができます、小売業者は彼ら自身のアイテムにサインアップして売ることができます..まあそれが目標です。
ポインタはありますか?