2017-07-07 215 views
0

我试图在我的html.erb文件中显示对话。rails - 在循环数组时通过添加html div标签

我正在使用特定模板并希望复制其聊天部分。

这里的聊天部分:

http://webapplayers.com/inspinia_admin-v2.7.1/chat_view.html

我注意到,他们的聊天记录“泡沫”只是不同的div。

像这样:

<div class="chat-message left"> 
    <img class="message-avatar" src="<%= image_path('a1.jpg') %>" alt=""> 
    <div class="message"> 
     <a class="message-author" href="#"> Michael Smith </a> 
     <span class="message-date"> Mon Jan 26 2015 - 18:39:23 </span> 
      <span class="message-content"> 
       Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. 
      </span> 
    </div> 
</div> 

<div class="chat-message right"> 
    <img class="message-avatar" src="<%= image_path('a4.jpg') %>" alt=""> 
    <div class="message"> 
     <a class="message-author" href="#"> Karl Jordan </a> 
     <span class="message-date"> Fri Jan 25 2015 - 11:12:36 </span> 
      <span class="message-content"> 
       Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover. 
      </span> 
    </div> 
</div> 

如果我在我的html.erb文件@messages的数组,我怎么能遍历数组并为每封邮件添加这些DIV部分之一,为了让我的聊天视图?

另外,我将不得不把它放在某种表中,每行的样式取决于消息是传入还是传出。

回答

0

你可以通过迭代@messages@messages.each do |message|...end来完成这个工作,然后在这个模块中有你的div与消息内容。一个更简洁的方法可能是设置一个_chat_view.html.erb partial与这些div,然后在您的主html.erb文件中,您可以执行render partial: 'chat_view', collection: @messages,并且仍然可以使用部分中的message对象。