Ruby on rails CanCan不允许在Spree后端中使用自定义操作/页面

Ruby on rails CanCan不允许在Spree后端中使用自定义操作/页面,ruby-on-rails,devise,cancan,spree,Ruby On Rails,Devise,Cancan,Spree,我在Spree中创建了一个新角色,并将CanCan限制为只有一个控制器。但是,它不允许访问自定义操作/页面 create, delete, index etc 上述操作是可访问的,但我的“干净”视图不是 控制器- def clean @handbags = Spree::Handbag.is_clean.page(params[:page]).per(50) end 能力修正器- class AbilityDecorator include CanCan::Abilit

我在Spree中创建了一个新角色,并将CanCan限制为只有一个控制器。但是,它不允许访问自定义操作/页面

create, delete, index etc
上述操作是可访问的,但我的“干净”视图不是

控制器-

  def clean
    @handbags = Spree::Handbag.is_clean.page(params[:page]).per(50)
 end
能力修正器-

  class AbilityDecorator
  include CanCan::Ability
  def initialize(user)
    if user.respond_to?(:has_spree_role?) && user.has_spree_role?('technical')
        can :manage, Spree::Handbag
    end
  end
end

Spree::Ability.register_ability(AbilityDecorator)
也试过-

    can [:clean, :admin, :index etc..], Spree::Handbag

谢谢您的帮助。

我通过覆盖集合动作并添加工作所需的动作来解决这个问题-

  def collection_actions
[:index, :clean, :repair, :colour]
  end