我正在尝试使用accepts_nested_attributes_for为具有has_one关联的两个模型设置值,但是在 View 中未显示fields_for中的任何内容。
我已经确认相同的代码可以在Rails 2.x上运行,并且在has_many上可以正常工作。
下面的代码。
模型
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
看法
<%= 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 %>
..然后复制并查看它,那是一个可怕的类名。
最佳答案
在rails 3中,您应该使用(注意<%=
中的等号):
<%= f.fields_for [...]
代替 :
<% f.fields_for
form_for也是如此
关于ruby-on-rails-3 - 具有has_one关联的嵌套属性的表单在Rails 3中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4087742/