Добавяне на персонализирани потребителски роли 1.3.1

Използвам spree 1.3.1 и Devise gem за удостоверяване и трябва да добавя user_role, наречен като "partner >", които могат да виждат поръчки в административната област, но не могат да създават/редактират/актуализират/изтриват нито една от поръчките.

Благодаря предварително


person shail85    schedule 15.01.2013    source източник
comment
какво друго опитахте и къде имате проблем с изгледите, базирани на роли?   -  person My God    schedule 15.01.2013
comment
последвах тази връзка s182.codeinspot.com/q/1784296   -  person shail85    schedule 15.01.2013


Отговори (1)


Има app/models/partner_ability.rb файл.

След това използвайте следните ролеви read разрешения за роля partner -

class PartnerAbility
  include CanCan::Ability

  def initialize(user)
    user ||= User.new
    if user.has_role? "partner"
      can :read, Product
    end
  end
end

Също така добавете следното след това към config/initializers/spree.rb -

Ability.register_ability(PartnerAbility)
person My God    schedule 15.01.2013
comment
Вече опитах това, но това не може да даде достъп до административната област, където потребителят (партньор) може да види всички поръчки. Всъщност искам да му дам достъп до localhost/admin/orders индексната страница - person shail85; 16.01.2013