Ich versuche, eine verschachtelte Form mit Formtastic zu erstellen. Ich habe meinen Code unten eingefügt, stoße aber auf einige Probleme, die ich unten aufgeführt habe. Irgendwelche Vorschläge? Vielen Dank.Verwendung von semantic_fields_for von Formtastic mit einer has_many-Verknüpfung
# Home model
class Home < ActiveRecord::Base
has_many :home_members
accepts_nested_attributes_for :home_members, :reject_if => :all_blank, :update_only => true, :allow_destroy => true
end
# Form builder in members/new.html.erb
<%= semantic_form_for @home, :url => home_members_path(@home), :html => { :method => :post }, :remote => true do |f| %>
<%= f.inputs do %>
<%= f.semantic_fields_for :home_members do |h| %>
<%= h.input :name %>
<%= h.input :email %>
<%= h.input :birthday, :as => :string %>
<% end %>
<% end %>
# members_controller's new method; @home is set in a before filter
def new
2.times{ @home.home_members.build }
end
Ein Benutzer standardmäßig erstellt wird, wenn ein Start gespeichert wird. Wie zeige ich nur die neu erstellten Datensätze an und nicht die vorhandenen?
Wenn # 1 nicht möglich ist, wie aktualisiere ich den vorhandenen Datensatz? Ich habe update_only auf accresents_nested_attributes_for gesetzt, aber ein neuer Datensatz wird noch erstellt.
Ich mache 2 x {@ home.home_members.build} in der Controller-Aktion. Wenn ich die Größe von @ home.home_members drucke, bekomme ich 3 (ein existiert bereits) wie erwartet. Warum zeigt das Formular nur 2 Sätze von Eingaben an, von denen eine mit den vorhandenen home_member-Daten gefüllt ist?
brauchen Sie noch Antworten auf diese Frage? Wenn Sie eine Lösung gefunden haben, könnten Sie die Antwort selbst veröffentlichen? –