Rails Pundit ActiveAdmin:页面没有正确重定向。

问题描述 投票:0回答:1

我安装了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面板时,结果总是在浏览器中出现错误。

ruby-on-rails scope activeadmin policy pundit
1个回答
0
投票

我允许对ApplicationPolicy中的所有方法进行所有操作。

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

在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
...
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.