如何在索引页上按条件禁用active_admin_import操作
我有一个按条件禁用"新建、创建、销毁"操作的代码。需要对active_admin_import 执行相同操作
controller do
def action_methods
if Admin::PurchaseOrderDecorator.decorate(parent).received?
super - %w(new create destroy)
else
super
end
end
end
active_admin_import(
....
)
您可以使用if
选项
https://github.com/activeadmin-plugins/active_admin_import/commit/aa0be4bbb3151ab50911c1041415044936fba068
像这样的东西可能会起的作用
active_admin_import if: -> { Admin::PurchaseOrderDecorator.decorate(parent).received? }
然而,通过策略处理有条件访问操作的另一个选项
# frozen_string_literal: true
class OrderItemPolicy < ApplicationPolicy
def import?
!order.completed?
end
end
文档
https://activeadmin.info/13-authorization-adapter.html
专家https://github.com/varvet/pundit