我正在尝试添加salesRep的用户角色,他可以通过从下拉列表中选择用户(与管理员相同)代表用户从管理员方面订购产品。 我在rails 5中使用狂欢商务。 我在app / models / spree / ability_decorator.rb
上有ability_decoratorclass 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)
虽然没有错误,但我只能按预期查看订单标签和产品标签。但“订单”选项卡仅显示选定的信息。它不显示客户下拉菜单以选择客户或客户详细信息,如电子邮件,密码,地址等,这些都存在于管理员登录中。 我应该做些什么更改才能拥有管理员登录等确切功能?
答案 0 :(得分:-1)
这是狂欢自定义用户角色的正确代码。
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)