gpt4 book ai didi

ruby-on-rails - activeadmin 自定义页面上的 Pundit 授权

转载 作者:行者123 更新时间:2023-12-04 14:43:34 25 4
gpt4 key购买 nike

在带有 activeadmin gem(当前主分支)的 Rails 4 应用程序中,我使用 Pundit 进行授权。它适用于资源,但我无法使其适用于页面。

例如:

ActiveAdmin.register_page "Home" do
content do
para "some text"
end
end

我将如何为特定用户授权?

通过阅读 Pundit 自述文件,我尝试使用以下代码,但它不起作用
class HomePolicy < Struct.new(:user, :home)
def index?
true
end

def show?
true
end
end

任何的想法 ?

最佳答案

这是我用于仪表板的示例策略。我已经把它放在 policies/active_admin/page_policy.rb 下.也许这可能会有所帮助

class ActiveAdmin::PagePolicy
attr_reader :user, :record

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

def show?
case record.name
when 'Dashboard'
true
else
user.admin?
end
end
end

关于ruby-on-rails - activeadmin 自定义页面上的 Pundit 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29488658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com