default_actions in activeadmin in Rails führt nicht dazu, dass die Schaltfläche "Löschen" den Link "Zerstören" erstellt

StackOverflow https://stackoverflow.com/questions/7390470

Frage

Ich habe folgendes:

ActiveAdmin.register User do
  index do
    column :email
        column :name
    column :role
    column "Last Sign In", :last_sign_in_at
        column :account
        column "Units" do |user|
            user.units.count.to_s
        end
    default_actions
end

Die Methode default_actions sollte die Links zum Anzeigen, Bearbeiten und Löschen erstellen.Es zeigt sie, aber der Löschlink ist nur ein Link zur Showaktion:

admin/users/1

Spezifikationen besagten, dass ein Löschlink erstellt werden sollte.

Ich weiß nicht, warum es das getan hat.Also habe ich eine Alternative ausprobiert:

 column "Delete" do |user|
   link_to "Delete", destroy_admin_user_path(user)
 end

Ich erhalte folgende Fehlermeldung:

undefined method `destroy_admin_user_path' for <div class="index_as_table"></div>:ActiveAdmin::Views::IndexAsTable

Ich habe sogar versucht, dies in Routen hinzuzufügen:

match "/admin/users/:id/destroy(.:format) " => "admin/users#destroy"

Immer noch der gleiche Fehler.

Ich habe dies in application.html.haml aufgenommen:

        = javascript_include_tag :all

Immer noch dieselben Probleme wie oben.

Danke für die Antwort

War es hilfreich?

Lösung

Haben Sie überprüft, ob die vollständige Datei rail.js zum Javascript hinzugefügt wurde?Verwenden Sie Firebug, um den Link zu überprüfen und festzustellen, ob er das Attribut data-method enthält.Überprüfen Sie auch die HTTP-Header und prüfen Sie, ob die Anforderung mit DELETE erfolgt.

Wenn die Anfrage nicht mit "DELETE" gestellt wird, haben Sie ein Problem mit Ihren Javascripts.Überprüfen Sie rails.js auf Integrität und jquery-Integration.Überprüfen Sie zusätzlich Ihr Vermögen.

Könnten Sie weitere Details zu Ihrer Rails-Version bereitstellen?Javascripts in HTML-Quelle enthalten?

Versuchen Sie etwas anderes, gehen Sie zu Assets / Javascripts / application.js und fügen Sie hinzu

//= erfordert jquery

nach oben, wenn Sie 3.1 ausführen

Andere Tipps

Dies ist etwas spät, aber der echte echte Grund, warum Ihr Link nicht funktioniert hat, ist, dass Sie die: -Methode nicht in Ihren Link eingefügt und stattdessen "destroy_admin_user_path" verwendet haben.

Versuchen Sie stattdessen Folgendes:

link_to "Delete", admin_user_path(user), :method => :delete, :data => {:confirm => "Are you sure?"}

Das funktioniert bei mir mit ActiveAdmin.

Ich hatte dieses Problem, als ich das Juwel "active_admin" aktualisiert habe. Daher habe ich es behoben, indem die Assets "active_admin" neu generiert wurden, und jetzt funktioniert die Aktion "Zerstören" einwandfrei.

rails generate active_admin:assets

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top