Próbuję ustawić wartości dla dwóch modeli, które mają asocjację has_one, używając accepts_nested_attributes_for, ale nic w polach_for nie jest pokazywane w widoku.Formularz z zagnieżdżonymi atrybutami ze skojarzeniem has_one nie działającym w Railsach 3
Potwierdziłem, że ten sam kod działa na Railsach 2.x i działa poprawnie, gdy ma wiele. Kod poniżej.
model
class Parent < ActiveRecord::Base
has_one :child
accepts_nested_attributes_for :child
end
class Child < ActiveRecord::Base
belongs_to :parent
end
Controller
def new
@parent = Parent.new
@parent.build_child
end
Zobacz
<%= form_for @parent do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<% f.fields_for :child do |builder| %>
<%= builder.label :childname %>
<%= builder.text_field :childname %>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
..i po skopiowaniu tego i patrząc na to, że to okropna nazwa klasy.
Dzięki że wystarczyły. Nie sądziłem, że to coś tak prostego. – Saifis
Typo - powinno być f.fields_for –