【发布时间】:2017-10-14 09:15:39
【问题描述】:
我创建了一个私人消息系统,但收件箱出现问题。 我想创建一个常规收件箱,您可以在其中查看所有对话。 我试图做某事,但我得到了用户收到的所有消息的结果,但我只想显示每个对话的最后一条消息。
SQL: 我得到了带有 id、user_id(int)、to_id(int)、content(text)、read(boolean) 的消息表。
消息控制器:
def inbox
@messages = Message.where("to_id = ? OR user_id = ? AND to_id != 0", current_user, current_user).order(created_at: :desc)
end
查看:
<% @messages.each do |message| %>
<% to_user_id = User.find(message.to_id) %>
<% to_user_name = to_user_id.username %>
<b><p><%= to_user_name %></p></b>
<p>
<% if message.read == false %>
<b><%= link_to message.content, pm_path(to_user_id) %></b>
<% else %>
<%= link_to message.content, pm_path(to_user_id) %>
<% end %>
</p>
<% end %>
希望我清楚并提前感谢您。
【问题讨论】:
标签: ruby-on-rails message private inbox