我正在使用活动的admin gem来为我的ruby on rails应用程序提供管理控制台。我有一个问题,我希望对索引页面上的每个项目进行多个自定义操作,就像查看,编辑,删除一样。但是在添加自定义操作时,只会显示最后一个而不是全部。
<my-dashboard></my-dashboard>
仅显示恢复链接,而不是批准/反驳和恢复
我做错了什么
答案 0 :(得分:2)
如果您有ActiveAdmin&gt; = 1.0.0.preX,则可以执行以下操作:
actions defaults: false do |application|
if application.user.instructor == 2
action_item 'Disapprove', instructor_deny_user_path(application.user.id), method: :put
else
action_item 'Approve', instructor_approve_user_path(application.user.id), method: :put
end
action_item "resume", getresume_instructor_applications_path(id: application.id)
end
如果使用0.6.x:
actions defaults: false do |application|
if application.user.instructor == 2
text_node link_to 'Disapprove', instructor_deny_user_path(application.user.id), method: :put
else
text_node link_to 'Approve', instructor_approve_user_path(application.user.id), method: :put
end
link_to "resume", getresume_instructor_applications_path(id: application.id)
end
答案 1 :(得分:0)
尝试将您的批准/拒登链接放在这样的列中,
column 'action' do |application|
application.user.instructor == 2 ? button_to 'Disapprove', instructor_deny_user_path(application.user.id), method: :put : button_to 'Approve', instructor_approve_user_path(application.user.id), method: :put
end
恢复原状的默认链接。
actions defaults: false do |application|
link_to "resume",getresume_instructor_applications_path(id: application.id)
end
答案 2 :(得分:0)
对于v1.3解决方案
actions defaults: false do |application|
if application.user.instructor == 2
item 'Disapprove', instructor_deny_user_path(application.user.id), method: :put
else
item 'Approve', instructor_approve_user_path(application.user.id), method: :put
end
item "resume", getresume_instructor_applications_path(id: application.id)
end
对我有用的是-感谢@littleforest的评论
您还可以添加, class: "member_link"
作为间距