2013-12-19 21 views
0

我不知道爲什麼,但我回路@booth.chats.build然後運行協會構建方法在年底創建空零級

下面的代碼,我在迭代

最後一部分得到一個空 chat
- @booth.chats.each_with_index do |chat, index| 
      = render partial: "chats/chat", locals: { chat: chat } 

這是發生這種情況的原因嗎?

+0

因爲你用'@ booth.chats.build'創建了一個? –

+0

@MarekLipka有沒有辦法確保它不會附加空對象? –

回答

0

@booth.chats.build將構建一個實例,但它不會被保存,就像下面

#<Chat id: nil, name: nil, ...

所以當您嘗試執行@booths.chats.each_with_index它將返回,因爲它不會被保存

望空單我可以清除你的疑惑

更好的是你可以保存[@booths.chats.save!]然後試試

0

「構建」方法創建一個新的聊天對象並將其添加爲「聊天」關聯(不保存到數據庫)。您仍然可以枚舉「聊天」關聯,而無需先調用「構建」。