活动管理员:同一列中的多个操作类似于查看,编辑,删除
我正在使用活动的admin gem来为我的ruby on rails应用程序提供管理控制台。 我有一个问题,我希望对索引页面上的每个项目进行多个自定义操作,就像查看,编辑,删除一样。 但是在添加自定义操作时,仅显示最后一个而不是全部。
index do column 'Instructor Name',:user column 'Email Address', :email column 'Phone Number', :phone column 'website', link_to 'google', 'www.google.com' column :bio actions defaults: false do |application| if application.user.instructor == 2 button_to 'Disapprove', instructor_deny_user_path(application.user.id), method: :put else button_to 'Approve', instructor_approve_user_path(application.user.id), method: :put end link_to "resume",getresume_instructor_applications_path(id: application.id) end end
仅显示恢复链接,而不是批准/反驳和恢复
我究竟做错了什么
如果您有ActiveAdmin> = 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
尝试将您的批准/拒绝链接放在这样的列中,
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