Active admin-action-Element/Mitglied Aktion
Also ich habe eine batch-Aktion, die funktioniert wunderbar. Aber jetzt möchte ich die gleiche Aktion in der Lage sein, um verwendet werden, indem Sie auf eine Schaltfläche auf der rechten Seite (wie anzeigen/Bearbeiten/löschen). Aber ich kann nicht scheinen, um es richtig zu machen.
# app/admin/subscriptions.rb
ActiveAdmin.register Subscription do
...
batch_action :approve_selected do |subscriptions|
subscriptions.each do |subscription|
Subscription.find(subscription).approve
end
redirect_to :back
end
member_action :approve do
Subscription.find(params[:id]).approve
redirect_to :back
end
action_item :only => :show do
link_to('Approve', approve_admin_subscription_path(subscription))
end
...
end
Nein-Schaltfläche wird neben Anzeigen, Bearbeiten oder Löschen können Sie mit diesem code. Ich dachte, es war, denn ich bin mit :only => show
damit ich ausziehen oder mit only :index
aber beide geben die folgende Fehlermeldung (und ich habe nicht in der Lage viel zu finden darüber):
undefined local variable or method `subscription' for #<ActiveAdmin::Views::ActionItems:0x007fb3a95b25c0>
Wenn ich die Aktion ändern, die Zeile zu action_item :only => index do |subscription|
dann gibt den folgenden Fehler und puts subscription
gibt nur einige html (keine Ahnung warum):
undefined method `each_byte' for nil:NilClass
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese kann getan werden, mit den folgenden:
Beachten Sie, dass die Verwendung
defaults: true
angefügt werden Ihre benutzerdefinierten Aktionen zur aktiven admin default-Aktionen ausgeführt.(link_to ... + link_to ...).html_safe
Für den Freund, landete die Seite, um Anhängen von mehr als 1 link
Etwas Wie:
Antwort gefunden hier. Sie können es über den untenstehenden code mit dem code aus der Frage zu entfernen (das action-Element block)
Aber ich denke, es gibt einen Weg, es zu tun, indem eine Aktion für die Standard-Aktionen (wenn Sie also wissen, wie zu tun, dann fügen Sie eine andere Antwort!)
Zusätzlich zum entfernen der Standardeinstellungen können Sie ändern, wie es ist hier: