【发布时间】:2020-05-15 16:26:15
【问题描述】:
我安装了 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 面板后,结果总是在浏览器中出错。
【问题讨论】:
-
尝试阅读this post:
标签: ruby-on-rails scope activeadmin policy pundit