所以这是场景:
用户:
has_one :company
accepts_nested_attributes_for :company
控制器:
@user = User.new
@user.build_company
查看:
<% semantic_form_for @user, :url => register_path do |form| %>
<h2>User Information</h2>
<%= form.inputs %>
<h2>Company Information</h2>
<% form.semantic_fields_for :company do |company| %>
<%= company.inputs %>
<% end %>
<%= form.buttons %>
<% end %>
在搜索网页后,这个SEEMS应该可以正常工作。但是,我得到的只是用户输入。 “semantic_fields_for:company”块根本不输出任何内容......
我在这里遗漏了什么,或者这可能是与Formtastic有关的Rails 3错误?
答案 0 :(得分:4)
您需要将“&lt;%=%&gt;”与Rails 3块一起使用,而不是“&lt; %%&gt;”。因此,代码应该是:
<%= semantic_form_for @user, :url => register_path do |form| %>
<h2>User Information</h2>
<%= form.inputs %>
<h2>Company Information</h2>
<%= form.semantic_fields_for :company do |company| %>
<%= company.inputs %>
<% end %>
<%= form.buttons %>
<% end %>
答案 1 :(得分:0)
至于rails3的新语法,在你的控制器中你应该使用
@user.company.build
而不是
@user.build_company