2009-05-04 99 views
0

有沒有人遇到過這個問題?構建vs新問題

我有意見的集合,我遍歷認爲正常:

<% for comment in @post.comments %> 
    <%= comment.body %> 
<% end %> 

但我也有一個表格來添加評論,但似乎如果我使用@ post.comments。在控制器中構建而不是Comment.new,它在循環中創建了一個「註釋」的空白實例。

我寧願使用.build不是.new 有沒有人遇到過這個?有沒有黑客?

謝謝

回答

1

有趣的你提到,我前幾天遇到過這個。

我結束了與Model.new去,但你也可以嘗試重新加載協會後,你打電話build

@post.comments(true)將重新加載它。 (你也可以寫@post.comments(:force_reload)以提高可讀性。)

重裝可能會被要求的關聯all命名範圍的替代,所以@post.comments.all

我認爲無論如何都會發出新的查詢,但也許他們會碰到查詢緩存。

+0

不錯,我會給你一個旋轉。我會認爲New和Build足夠接近,它會發生在New上,但我猜不。 – Cameron 2009-05-04 20:46:21

0
@comments = @post.comments 
@comment = @post.comments.build 

我會這樣做。