我尝试使用 Accepts_nested_attributes_for 为具有 has_one 关联的两个模型设置值,但 fields_for 中没有任何内容显示在视图上。
我已经确认相同的代码可以在 Rails 2.x 上运行,并且当它是 has_many 时它可以正常运行。
代码如下。
Model
class Parent < ActiveRecord::Base
has_one :child
accepts_nested_attributes_for :child
end
class Child < ActiveRecord::Base
belongs_to :parent
end
控制器
def new
@parent = Parent.new
@parent.build_child
end
View
<%= 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 也是如此
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)