link_to_remove_association wird nicht entfernt?

8

Wie können wir das verschachtelte_Attribut reparieren: _result_fields.html.erb , damit ein Benutzer, wenn er auf "Löschen" klickt, ihn tatsächlich löscht? Während das Klicken jetzt nichts tut.

%Vor%

Statistiken has_many Ergebnisse

Statistiken / _form

%Vor%

In stats_controller habe ich das als Parameter: results_attributes: [:id, :result_value, :date_value, :bad, :_destroy]

Die Modelle :

%Vor%

Ich verwende den Kokonstein .

Bitte lassen Sie mich wissen, wenn Sie weiteren Code oder Erklärung benötigen. Danke!

AUF ANFRAGE

%Vor%

stat.js

%Vor%     
AnthonyGalli.com 21.06.2015, 19:59
quelle

2 Antworten

17

Wenn das link_to_add_association funktioniert, wird das Javascript korrekt geladen.

Immer noch ein bisschen verwirrt darüber, was nicht funktioniert. Wenn Sie auf die Seite link_to_remove_association nicht entfernen etwas sichtbar von der Seite klicken, fehlt Ihnen die richtige Wrapper-Klasse. Standardmäßig sollte es .nested-fields sein, aber dies kann außer Kraft gesetzt werden, indem Sie es explizit angeben (als dokumentiert ).

>

Aber wenn die Elemente visuell entfernt werden, und Sie denken, dass es sofort an den Server gesendet werden sollte, dann missverstehen Sie, wie cocoon funktioniert: Sie bearbeiten ein Formular, das nur gespeichert (an den Server gesendet), wenn Sie das Formular absenden . Das link_to_remove_association only visible entfernt also das verschachtelte Kind und editiert den Inhalt des Formulars (setzt das _destroy -Flag), so dass beim Speichern / Senden des Formulars das verschachtelte Kind gelöscht wird.

    
nathanvda 22.06.2015, 00:07
quelle
2

Vielleicht ist das Problem, dass Sie das Javascript, das mit dem Juwel kam, nicht eingeschlossen haben, um die Links wie erwartet aufzurufen, verwenden Sie Ruby auf den Schienen 3 oder 4? Das ist sehr wichtig, wenn man Fragen in Schienen stellt, da sie sich sehr unterscheiden.

Überprüfen Sie Ihre application.js -Datei, die sich in app/assets/application.js befindet, und stellen Sie sicher, dass Sie diese Zeile hinzugefügt haben:

%Vor%

Wenn Sie die Assets bereits hinzugefügt haben, überprüfen Sie den Quellcode der Seite und bestätigen Sie, dass das für Cocoon definierte JavaScript auf der Seite

geladen wird

Wenn dies bereits geschehen ist, aktualisieren Sie bitte die Frage und fügen Sie das Rails-Log hinzu, das Sie sehen, wenn Sie auf den Link klicken und lassen Sie mich wissen, welche Version von Rails Sie verwenden

    
rorra 21.06.2015 20:48
quelle