2017-02-06 23 views
0

Я пытаюсь добавить роль пользователя salesRep, который может заказывать продукты у администратора от имени пользователей, выбирая пользователей из раскрывающегося списка (то же, что и admin). Я использую Шпрее коммерцию в рельсах 5. я имею ability_decorator в приложении/модель/Шпрее/ability_decorator.rbSpree commerce с рельсами пользовательских ролей

class AbilityDecorator 
    include CanCan::Ability 
    def initialize(user) 
    if user.respond_to?(:has_spree_role?) && user.has_spree_role? ('sales_rep') 
     can [:admin, :manage], Spree::Order 
     can [:admin, :index, :show], Spree::Product 
    end 
    end 
end 

Spree::Ability.register_ability(AbilityDecorator) 

Хотя нет никакой ошибки, я могу просматривать только вкладку заказа и вкладку продукта, как ожидается. На вкладке «Заказ» отображается только выбранная информация. Он не отображает раскрывающийся список клиентов, чтобы выбрать данные о клиенте или клиенте, такие как адрес электронной почты, пароль, адрес и т. Д., Которые присутствуют во входе администратора. Какие изменения следует внести, чтобы иметь точную функциональность, такую ​​как вход в систему администратора?

ответ

-1

Это правильный код для пользовательских ролей пользователя spree.

class AbilityDecorator 
    include CanCan::Ability 
    def initialize(user) 
    if user.respond_to?(:has_spree_role?) && user.has_spree_role?('admin_store') 
     can [:admin, :manage], Spree::Order 
     can [:admin, :index, :show], Spree::Product 
    end 
    end 
end 

Spree::Ability.register_ability(AbilityDecorator)