Я пытаюсь дать некоторые пользовательские роли в рамках определенных разрешений. Нигде не могу найти этот ответ
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
to
elsif user.has_role? "retailer"
can :manage, :all
Он работает так, как ожидалось... Я могу получить доступ ко всей административной области
Я только хочу, чтобы "Розничный продавец" мог управлять товарами!! ;)
«admin» — это только роль, связанная с пользователем, т. е. все роли — Пользователи.
Вы, наверное, видите, к чему это идет, розничные продавцы могут регистрироваться и продавать свои собственные товары ... ну, это цель.
Любые указатели??