活动管理员:同一列中的多个操作类似于查看,编辑,删除

我正在使用活动的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