Formtastic嵌套模型表单字段(Rails 3)

时间:2010-06-13 17:03:14

标签: ruby-on-rails ruby-on-rails-3 formtastic

所以这是场景:

用户:

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错误?

2 个答案:

答案 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