2011-03-19 29 views
1

我跟隨this simple tutorial,我遵循所有步驟......但瀏覽器根本沒有顯示任何我放入fields_for標籤的內容。Rails Screencast - 完全卡在「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 %> 

上面的代碼的結果是這樣的:

enter image description here

我在想什麼?

回答

8

Rails有時(很好,經常)有點令人困惑,其中幫助者想要<% vs哪些助手想要<%=。嘗試

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

您正在關注的教程沒有,但是從2007年開始,在Rails 3中,這已經發生了變化。目前關於fields_for的文檔是here

+0

哦,是的,這是我無知的證據! ;-) – Abramodj 2011-03-19 11:26:24

+0

@Abramodj:我不知道 - 我在文檔中沒有看到關於<%=和<%之間區別的任何內容。另外,如果你沒有問這個問題,我不得不問。 – Marcin 2011-05-27 13:37:39