0

我有,简单地说:

消息.haml

= @messages.count # returns 5
= render partial: 'message', collection: @messages

消息.haml

= message.user
= message.body
= message.created_at

在上面,五个部分没有渲染,而是六个,最后一个幽灵部分包含一个半映射的模型。它返回 a user(与user之前的消息相同)并返回nilforbodycreated_at。我已经检查了数据库以绝对确定。有五个关联,它在视图中输出五个,为什么是渲染六个?

我什至如何调试像这样看似不可能的事情?

4

1 回答 1

1

首先确保部分渲染 6 次。在 message.haml 中添加一些代码,如下所示:

- puts "\n\n\nrendering template\n\n\n"

我有一种感觉,你只会看到这个输出 5 次,而其他东西正在渲染最后一个。

同样在渲染部分之前,输出(检查)@messages 对象。

于 2013-10-13T16:25:49.830 回答