2016-08-05 2 views
0

Ich benutze Active Admin Gem, um eine Admin-Konsole für meine Ruby on Rails-Anwendung zu haben. Ich habe ein Problem, bei dem ich mehrere benutzerdefinierte Aktionen für jedes Element auf der Indexseite haben möchte, genau wie Ansicht, Bearbeiten, Löschen. Wenn Sie jedoch eine benutzerdefinierte Aktion hinzufügen, wird nur die letzte anstelle von allen angezeigt.Active Admin: Mehrere Aktionen in derselben Spalte, ähnlich wie Anzeigen, Bearbeiten, Löschen

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 

nur wieder aufnehmen Link statt Genehmigen/widerlegen gezeigt wird und wieder

Was mache ich falsch

Antwort

2

Wenn Sie ActiveAdmin> = 1.0.0.preX haben, können Sie dies tun:

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 

Wenn Sie eine 0.6.x verwenden:

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 
+0

Oh Junge Erfinder ihn selbst. du hast meinen Tag gerettet. Dies funktioniert, aber Disapprove/Approve und resume erscheint als ein Wort eher, dass 2 verschiedene Wörter durch Leerzeichen getrennt –

+0

Okay, ich lese ActiveAdmin Docs hat über span kennen so gerade hinzugefügt span um beide zu genehmigen und zu widerlegen Links –

+0

Auch dies ist eine Antwort –

0

Versuchen Sie setzen Ihre genehmigen/ablehnen Links in Spalten wie dieser,

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 

Und Standard-Link für den Lebenslauf so wie es ist.

actions defaults: false do |application| 
    link_to "resume",getresume_instructor_applications_path(id: application.id) 
end 
+0

Yo gearbeitet. Danke Kumpel –

+0

Willkommen Kumpel !!! – Navin

Verwandte Themen