Espree Permissões de funções personalizadas

Estou tentando dar algumas funções personalizadas dentro de permissões específicas da série. Não consigo encontrar esta resposta em qualquer lugar

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

Eu pensei que isso poderia ser uma ideia popular, de permitir que um usuário com a função 'gerente' gerencie apenas produtos e outros modelos específicos ...

se eu mudar

 elsif user.has_role? "retailer"
can :manage, Product

par

 elsif user.has_role? "retailer"
can :manage, :all

Funciona como esperado ... Posso acessar toda a área de administração

Eu só quero que o "Varejista" seja capaz de: gerenciar produtos tho !! ;)

"admin" é apenas uma função associada a um usuário, ou seja, todas as funções são Usuário

Você provavelmente pode ver aonde isso está indo, os varejistas podem se inscrever e vender itens próprios ... esse é o objetiv

Qualquer ponteiros ??

questionAnswers(2)

yourAnswerToTheQuestion