fields_for nicht rendering - rails 3
Zog schließlich in Rails 3 für ein neues Projekt, und schon läuft in einer rookie-problem.
Versuchen zu tun, eine einfach geschachtelte form.
2-Modelle: Liste und Aufgaben
Liste Modell
class List < ActiveRecord::Base
has_many :tasks, :dependent=>:destroy
accepts_nested_attributes_for :tasks, :reject_if => lambda { |a| a[:name].blank? }
end
Aufgabe, Ein Modell
class Task < ActiveRecord::Base
belongs_to :list
end
Liste-Controller
def new
@list = List.new
3.times{ @list.tasks.build }
end
Listen/neue.html-Code.erb
<% form_for :list, :url=>{:action=>"create"} do |f| %>
<%= f.text_field :name, :class=>'big' %>
<%= f.label :name, "ex: Today's Todos, Christmas List" %>
<% f.fields_for :tasks do |builder| %>
<p>
<%= builder.label :name, "Task" %>
<%= builder.text_field :name %>
<%= builder.check_box :_destroy %>
</p>
<% end %>
<p><%= submit_tag "Create List", :id => "submit", :name => "submit", :class => "form_submit", :disabled => false, :disable_with => "Please wait..." %></p>
<% end -%>
Mit debug @Liste ich kann sehen, dass die 3 von mir erstellten Aufgaben in meinem controller, aber es fields_for nicht machen.
Irgendwelche Ideen?
InformationsquelleAutor der Frage Ryan | 2010-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
In rails 3, die Sie verwenden sollten
<%=
statt<%
fürform_for
undfields_for
. Sehen, ob das hilft.InformationsquelleAutor der Antwort bowsersenior
In Ihrer Liste-controller in Aktion neue hinzufügen
InformationsquelleAutor der Antwort priyanka Ukirde