我有一个简单的show方法,它必须呈现对话中的所有消息。
我的代码中的所有东西都是基本的,我有一个show方法转到这个HTML(show.html.haml):
%section#list
= @conversation.messages.each do |message|
.row
= message.content
= message.participant.user_id
当我去这个节目页面时,我有我的内容,但我也有一个来自数据库的随机行(我的HTML不包含其他内容)。这是我得到的:
This is a test 1
[#< MyghtDefaultMessenger::Message id: 1, content: "This is a test", deleted: false, participant_id: 1, created_at: "2017-02-13 14:52:45", updated_at: "2017-02-13 14:52:45" >]
(我在&lt;和&gt;标志旁边添加了一个空格,其他SO只会渲染,但它们不在原文中。[#])
这是我在conversation_controller中的控制器方法:
def show
@conversation.messages.order(:created_at)
end
唯一的特点是我的对话有很多参与者,我的参与者有很多信息,我通过参与者得到了对话的信息。
答案 0 :(得分:1)
您需要使用=
-
=
打印评估代码的结果-
只会对其进行评估将代码更改为
%section#list
- @conversation.messages.each do |message|
.row
= message.content
= message.participant.user_id
您获得的第二个输出是在评估@conversation.messages.each do |message|
后返回的结果。
注意:只要您需要进行评估,请使用-
。 each
,if - else
,以haml分配变量