代码之家  ›  专栏  ›  技术社区  ›  Sunli Jadhav

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

  •  3
  • Sunli Jadhav  · 技术社区  · 8 年前

    我正在使用activeadmingem为我的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
    

    3 回复  |  直到 8 年前
        1
  •  6
  •   Timo Schilling    8 年前

    如果您有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 
    

       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 
    
        2
  •  1
  •   Dan Lucky    6 年前

    对于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" 对于间距

        3
  •  0
  •   Navin    8 年前

    尝试将您的批准/不批准链接放在这样的列中,

    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