我是StackOverFlow的新人 . 很高兴见到你 .

现在,我正在使用Spree Framework制作EC Rails应用程序 .

狂欢管理员角色用户都很好 .

但是,在TextEditor中修改源代码后,自定义角色用户重定向到authentication_failure .

进程发生错误如下:

  • 创建自定义用户角色'sub_admin' .

  • 创建用户有'sub_admin'角色;

  • 用户登录'sub_admin'角色;

  • 第一次没问题 . 似乎一切都很好 .

  • 在模型或控制器文件中添加代码 . (例如:添加方法,或更改位代码)

  • 在编辑器上使用⌘s保存代码 .

  • 重新加载网页,接收CanCan :: AccessDenied并重定向到authentication_failure路径 .

  • 重新启动rais服务器

  • 第一次没问题 . 似乎一切都很好 .

  • 3~9循环无穷无尽......

Admin 角色每次都没有问题 . 问题仅在自定义角色中发生 . 来的错误是 -

CanCan::AccessDenied error.

怎么了?
我阅读了文档和Gem代码,但我无法理解或提示 .

我的能力档案如下:
sub_admin_ability.rb

module Spree
  class SubAdminAbility
    include CanCan::Ability

    def initialize(user)
      user ||= Spree.user_class.new

      if user.sub_admin?
        can [:admin, :manage], Spree::Product
        can [:admin, :manage], Spree::Address
        can [:admin, :manage], Spree::Profile
        can [:admin, :manage], Spree::Image
        can [:admin, :create, :update, :addresses], Spree::User
      end
    end
  end
end

I use Gem version:

  • 狂欢3.3.0

  • spree_auth_devise 3.3.1

  • spree_gateway 3.3.0

谢谢!