嵌套形式的奇怪行为 - 需要<%= not<%

时间:2012-02-01 11:48:26

标签: ruby-on-rails-3.1 nested-forms

我正在使用rails 3.1.3

我试图创建一个嵌套表单 - 我最终使它工作,所以我已经将所有的accepts_nested_attributes_for位都正确。

这是有效的形式:

<%= form_for(@article, :as => :article) do |f| %>

  ......some article fields in here

  <%= f.fields_for :article_site_permissions do |builder| %>
    <%= builder.label :name %><br />
    <%= builder.text_field :name %>
  <% end %>

  <div class="actions">
    <%= f.submit 'Update' %>
  </div>

<% end %>

奇怪的是,行<%= f.fields_for :article_site_permissions do |builder| %>需要<%=而不是<%。我见过的所有示例(例如http://railscasts.com/episodes/196-nested-model-form-part-1?view=asciicast)都可以使用<%而不是<%=。巧合的是,当天晚些时候同事发生了同样的事情,这引发了这个问题。

有谁知道这里发生了什么?

1 个答案:

答案 0 :(得分:3)

从rails 3.0开始<%=是正确的事情(参见release notes)。您链接的railscast早于rails 3.0。