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

时间:2016-08-05 13:07:40

标签: ruby-on-rails activeadmin

我正在使用活动的admin gem来为我的ruby on rails应用程序提供管理控制台。我有一个问题,我希望对索引页面上的每个项目进行多个自定义操作,就像查看,编辑,删除一样。但是在添加自定义操作时,只会显示最后一个而不是全部。

<my-dashboard></my-dashboard>

仅显示恢复链接,而不是批准/反驳和恢复

我做错了什么

3 个答案:

答案 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"作为间距