Ich versuche, verschachtelte Objektformulare für meine Site zu implementieren, indem ich den Blogbeitrag von Ryan Daigle als Leitfaden verwende (http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes). Aus irgendeinem Grund werden die verschachtelten Formularfelder nicht in der Ansicht angezeigt.Probleme mit verschachtelten Formularfeldern, die angezeigt werden
class Instruction < ActiveRecord::Base
has_many :steps
accepts_nested_attributes_for :steps
end
class Step < ActiveRecord::Base
belongs_to :instruction
end
<% form_for @instruction do |instruction_form| %>
<%= instruction_form.error_messages %>
<p>
<%= instruction_form.label :title %><br />
<%= instruction_form.text_field :title %>
</p>
<p>
<%= instruction_form.label :difficulty %><br />
<%= instruction_form.text_field :difficulty %>
</p>
<% instruction_form.fields_for :steps do |step_form| %>
<%= step_form.label :explanation, 'Explanation: ' %>
<%= step_form.text_field :explanation %>
<% end %>
<p><%= instruction_form.submit "Submit" %></p>
<% end %>
Wenn ich ändere instruction_form.fields_for :steps do |step_form|
zu instruction_form.fields_for :step do |step_form|
macht die Form, sondern nach Vorlage, erhalte ich ein ‚unbekanntes Attribut: Schritt‘ Fehler.
Was ich tue, scheint dem Tutorial zu entsprechen. Was soll ich überprüfen? Vielen Dank.
zu bearbeiten habe ich wusste, dass ich brauchte @instruction = Instruction.new nicht wusste, dass ich brauchte @instruction zu tun .steps.build. Im Rückblick auf das Tutorial wurde mir klar, dass ich den Abschnitt 'Extras' gelesen haben sollte. Danke für die Hilfe! – sutee
fantastisch! es war ein Schuss im Dunkeln, aber es war das komische Ding, das ich bemerkte, als ich anfing, access_nested_attributes_for prost zu verwenden! – BushyMark