要在ActiveAdmin中跳过使用next
而不是proc
的action_item
,您可以使用以下代码示例:
ActiveAdmin.register User do
action_item only: :show do
link_to 'Custom Action', custom_action_admin_user_path(resource), method: :put if custom_action_condition?
end
member_action :custom_action, method: :put do
# 实现自定义操作的代码
redirect_to admin_users_path, notice: 'Custom action was performed.'
end
controller do
def custom_action_condition?
# 检查自定义操作的条件
true
end
end
end
在上面的示例中,我们使用action_item
定义了一个自定义操作按钮,只在用户详情页显示。然后,我们定义了一个名为custom_action
的成员操作,并使用method: :put
指定了HTTP方法。在custom_action
的实现中,您可以编写自定义操作的代码,然后使用redirect_to
将用户重定向到所需的页面,并传递一条通知消息。
此外,在控制器中,我们定义了一个custom_action_condition?
方法来检查自定义操作的条件。您可以根据自己的需求来实现这个方法,例如检查当前用户的权限或其他条件。
请注意,上述代码中的User
是一个示例模型,您需要将其替换为您自己的模型。您还可以根据需要调整和修改代码。