Verschachtelte has_many-Ressourcenform mit Active Admin führt keine Aktualisierung durch

7

Ich kann nicht herausfinden, wie die Eingabehelfer der geschachtelten Ressourcen in Active Admin verwendet werden, damit ich die Werte der zugehörigen Datensätze für den "übergeordneten" Datensatz aktualisieren kann.

Das Modell, für das ich ein Update erstellen möchte, ist wie folgt:

%Vor%

wobei PageAttribute zwei Attribute hat, :key und :value

Und das ActiveAdmin-Modell ist:

%Vor%

Wenn ich jedoch http://localhost:3000/admin/pages/2/edit aufrufe und den Wert eines vorhandenen Attributs ändere (oder wenn ich das Kontrollkästchen Löschen aktiviere), wird stattdessen ein neuer Datensatz für das PageAttribute -Modell erstellt und die vorhandenen Verknüpfungen erstellt bleiben unberührt.

Ich lese die Active-Admin-Dokumentation zu geschachtelten Ressourcen und eine Reihe von SO-Posts durch kann aber nicht herausfinden, was ich falsch mache :(

    
sameers 03.04.2014, 05:11
quelle

1 Antwort

23

Ich habe realisiert, was ich falsch gemacht habe - ich habe es ein wenig überbewertet. Ich wusste nicht, dass Sie, wenn Sie starke Parameter zulassen, auch den Parameter :id für einen verknüpften Datensatz zulassen müssen, den Sie zu aktualisieren versuchen. Ich vermutete, dass die Magie von Rails dafür sorgen würde.

Es funktioniert also, wenn Sie den Aufruf permit_params ändern, um stattdessen Folgendes zu sagen:

%Vor%

Tatsächlich ist das the Strong Parameter Abschnitt auf dem Active Admin Github Wiki sagt zu tun, ich hätte darauf achten müssen, warum es so eingerichtet wurde.

    
sameers 03.04.2014, 15:53
quelle