我有一种情况,我想将使用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。我上面的代码仅供参考。