我不知道为什么,但是当我循环@booth.chats.build
然后运行
使用下面的代码,我在迭代的最后部分得到一个空的chat
类
- @booth.chats.each_with_index do |chat, index|
= render partial: "chats/chat", locals: { chat: chat }
为什么会发生这种情况?
答案 0 :(得分:0)
@booth.chats.build
将构建一个实例,但不会像下面那样保存
#<Chat id: nil, name: nil, ...
所以在你尝试执行@booths.chats.each_with_index
之后,它会返回空的,因为它没有保存
希望我能够清除你的怀疑
您可以更好地保存[@booths.chats.save!
],然后尝试
答案 1 :(得分:0)
“build”方法创建一个新的Chat对象并将其附加到“聊天”关联(不保存到数据库)。您仍然可以枚举“聊天”关联,而无需先调用“构建”。