Hinzufügen einer Verknüpfung löschen für verschachtelte Attribute
Habe ich verschachtelte Attribute in meiner show.erb, und ich erstellen Sie eine leere verschachtelte Attribut und zeigen ein raster von Elementen, die mit der leere auf der Unterseite so gerne.
<%= form_for @question do |q| %>
<% q.fields_for :answers, @question.answers do |l| %>
<tr>
<td><%= l.text_field :text %></td>
<td><%= l.check_box :correct %></td>
<td><%= l.text_field :imagename %></td>
<td><%= l.number_field :x %></td>
<td><%= l.number_field :y %></td>
</tr>
<% end %>
<tr>
<td colspan=5 align=right><%= submit_tag '+' %>
</tr>
<% end %>
Möchte ich ein link_to 'Destroy' zu arbeiten, aber ich bin immer undefined method 'plural'
wenn ich dies hinzufügen der raster
<%= link_to 'Destroy', l, :controller => "answer", :confirm => 'Are you sure?', :method => :delete %>
InformationsquelleAutor Joseph Le Brech | 2011-08-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum wollen Sie einen link verwenden? Sie können auch verwenden, die zerstören die Funktionalität in den verschachtelten Parametern.
Alles, was Sie tun müssen, ist fügen Sie
:allow_destroy => true
in Ihremaccepts_nested_attributes
definition und Beurteilungjedem Datensatz.
Die Art und Weise Sie entfernt alle verschachtelten Sätze mit check-box aktiviert, wenn der Datensatz gespeichert wird.
InformationsquelleAutor Jimmy Stenke
Für die Suche nach diesem von Google, während technisch eine delete-checkbox könnte der richtige Weg, ich denke, es ist verwirrend - der einzige Vorteil ist, dass es erfordert nur zwei Klicks zu löschen (select-Feld und drücke update). Könnte es besser sein, nur sicherstellen, dass das löschen ist klar, was passiert ist, und möglicherweise fügen Sie eine einfache Möglichkeit, es wieder zu bekommen.
Ist Folgendes zu senden, das update auf dem server als ajax, zu handhaben die Aktualisierung der Seite in einer callback-oder js-Datei anzeigen. Entfernen remote: true und es funktioniert wie ein regulärer link.
, data: { confirm: 'You sure?' }
direkt nachmethod: :put
Die eine Sache, die ich bemerkt (zumindest in meinem Fall) war, dass das Element gelöscht wurde, aber die Seite nicht automatisch neu geladen.Danke für die Bestätigung auf has_many (keine Ahnung, warum es nicht funktionieren würde). Auch Hinzugefügt einige Noten von Ihren Kommentar zu bestätigen, und entfernen Sie remote: stimmt, es sollte funktionieren wie ein normaler link und aktualisieren Sie die Seite, - sonst müssen Sie verarbeiten, dass Sie sich.
Ich bin damit einverstanden, dass der UX ist wirklich komisch mit einer checkbox löschen
InformationsquelleAutor d3vkit
Die variable, die Sie verwenden
l
ist nicht korrekt. Wenn Sie den Ertrag aus einemfields_for
block der block-Objekt ist eine Instanz vonFormBuilder
nicht eine Instanz des Objekts selbst. Welche url willst du den link zu zeigen? Ist esAnswers#destroy
? Was id tun, die Sie senden möchten, um diese Aktion für Sie zu identifizieren, was zu vernichten? Einlink_to
ist nicht ein form-element. Es ist nur ein Helfer für ein Anker-tag. Sie brauchen eine url, kein form-builder erstellen, link.Ist das eine Liste der Antwort-Formulare? Eine für jede Antwort? Wenn ja, möchten Sie vielleicht, um eine Schleife durch Sie nicht nur verwenden, sondern
fields_for
.Hoffentlich hilft dir auf die richtige Spur.
InformationsquelleAutor jesse reiss