2016-02-07 40 views
0

我有一個意見表中的鏈接和形式如下:軌道4。每次打印一個額外的空結果

<%= form_for([@link, @link.item_comments.build]) do |f| %> 
    <%= f.hidden_field :user_id, value: current_user.id %> 
    <%= f.text_area :content %> 
    <%= f.submit "Submit" %> 
<% end %> 

我打印出來的頁面與評論:

<ul> 
    <% @link.item_comments.each do |comment| %> 
     <li><%= comment.content %> <%= comment.user_name %></li> 
     Points: <%= comment.points %> 
    <% end %> 
    </ul> 

但是當我查看頁面時,我在最後打印出一個額外的空白元素。任何人都可以解釋發生了什麼?我認爲這可能與表格中的.build有關,但我無法找到任何有關它的信息。

乾杯

回答

0

你是正確.build是原因。

docs

collection.build(屬性= {},...)返回一個或已經通過實例化屬性和鏈接到該對象的集合類型的更新對象外鍵,但尚未保存。

但即使它尚未保存它會被添加,使其出現了@link.item_comments集合,您使用的是您的each環英寸

從您的其他代碼看起來好像您必須將評論與鏈接關聯起來才能保存評論,您可以使用form_for([@link, ItemComment.new])代替form_for

+0

「儘管它還沒有被保存,但它會被添加以便它看起來......」 是的。在我的情況下實際解決它的只是把形式放在視圖中的循環之上。謝謝 – BillyBib