ActiveAdmin专家策略正在调用:create?而不是:new?用于索引页面上的新按钮

时间:2018-10-11 05:36:57

标签: ruby-on-rails activeadmin pundit

我有一种情况,我想将使用ActiveAdmin创建的资源的所有者分配给当前用户。并制定政策检查创建的资源列owner_id是当前用户ID。

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

  def new?
    true
  end

  def create?
    @user == @record.owner
  end
end

问题是activeadmin中的这段代码

/lib/active_admin/views/pages/index.rb

if controller.action_methods.include?('new') && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)

以上这段代码正在检查是否允许我在索引页面中看到新按钮,但它正在调用:create?我政策的方法,而不是:new?方法。

P.S。我上面的代码仅供参考。

0 个答案:

没有答案