Rails Pundit ActiveAdmin:页面重定向不正确

Rails Pundit ActiveAdmin: page isn’t redirecting properly

我安装了 Activeadmin 和 Pundit gems。

在 application_controller.rb 中添加了 'include Pundit'。

定义package_policy.rb

class PackagePolicy < ApplicationPolicy
  def update?
    user.admin?
  end
end

application_policy.rb:

class ApplicationPolicy
  attr_reader :user, :record

  def initialize(user, record)
    @user = user
    @record = record
  end

  def index?
    false
  end

  def show?
    false
  end

  def create?
    false
  end

  def new?
    create?
  end

  def update?
    false
  end

  def edit?
    update?
  end

  def destroy?
    false
  end

  def scope
    Pundit.policy_scope!(user, record.class)
  end

  class Scope
    attr_reader :user, :scope

    def initialize(user, scope)
      @user = user
      @scope = scope
    end

    def resolve
      scope
    end
  end
end

然后我得到

page isn’t redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete

在我的浏览器中。也许,它是无限循环或类似的东西。

我有一些不同的配置package_policy.rb, 但添加后 application_policy.rb - 结果在尝试登录到 Activeadmin 面板后浏览器中总是出错。

我在我的 ApplicationPolicy 中允许所有方法的所有操作。

在我为我的资源创建具有所需权限的新策略之后。

在应用策略中:

...
  def index?
    true
  end

  def show?
    true
  end

  def create?
    true
  end

  def new?
    create?
  end

  def update?
    true
  end

  def edit?
    update?
  end

  def destroy?
    true
  end
...

在任何其他政策中,例如:

...
  def index?
    user.admin?
  end

  def show?
    user.admin?
  end

  def create?
    user.admin?
  end

  def new?
    create?
  end

  def update?
    user.admin?
  end

  def edit?
    update?
  end

  def destroy?
    user.admin?
  end
...