gpt4 book ai didi

ruby-on-rails - 权威 headless 政策

转载 作者:行者123 更新时间:2023-12-04 05:03:34 27 4
gpt4 key购买 nike

我在我应用的admin部分中使用pundit进行访问控制。我有一个仪表板 Controller ,如下所示:

class Admin::DashboardsController < AdminController
def index
@total_revenue = Order.total_revenue
authorize :dashboards, :index?
end

...

end

以及如下所示的策略:
class DashboardPolicy < Struct.new(:user, :dashboard)
def index?
true
end
end

当我尝试访问 /admin/dashboards/时,我收到了 Pundit::NotDefinedError, unable to find policy SymbolPolicy for dashboards
我也尝试过命名策略,并得到相同的错误。

最佳答案

jizak的答案对我不起作用,我发现以下针对 headless 命名空间策略的解决方案,其诀窍是使用[:admin,:policy]第一个参数。

  class Admin::HomeController < AdminController
def dashboard
authorize [:admin, :home], :dashboard?
end
end

然后针对该策略:
Admin::HomePolicy < AdminPolicy
def dashboard?
return false unless user && user.admin?
true
end
end

关于ruby-on-rails - 权威 headless 政策,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141431/

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