Rails Screencast - 完全停留在"fields_for"

Abr*_*odj 1 ruby-on-rails

我正在按照这个简单的教程,我按照所有步骤...但浏览器根本没有显示我放在fields_for标签内的任何东西.

<%= form_for :activity, :url => activities_path do |f| %>

    <% if @activity.errors.any? %>
      <div id="error_explanation">
        <h2><%= pluralize(@activity.errors.count, "error") %> prohibited this activity from being saved:</h2>

        <ul>
        <% @activity.errors.full_messages.each do |msg| %>
          <li><%= msg %></li>
        <% end %>
        </ul>
      </div>
    <% end %>

  <div class="field">
    <%= f.label "Foto" %><br />
    <%= f.text_field :photo %>
  </div>
  <div class="field">
    <%= f.label "Foto per la home" %><br />
    <%= f.text_field :photoHome %>
  </div>

    <% for info in @activity.infos %>

    This is rendered<br>

      <% fields_for "activity[info_attributes][]", info do |info_form| %>

    This is not rendered<br>

        <p>
          Titolo: <%= info_form.text_field :title %>
        </p>
        <p>
          Descrizione: <%= info_form.text_field :description %>
        </p>
      <% end %>
    <% end %>
    <p><%= submit_tag "Create activity" %></p>

<% end %>
Run Code Online (Sandbox Code Playgroud)

上面的代码结果如下:

在此输入图像描述

我错过了什么?

Mar*_*uis 8

Rails是有时(当然OK,经常)有点混乱中,助理想<%VS其助手希望<%=.尝试

<%= fields_for "activity[info_attributes][]", info do |info_form| %>
Run Code Online (Sandbox Code Playgroud)

您所关注的教程没有,但是从2007年开始,在Rails 3中,这已经改变了.当前文档上fields_for在这里.