按日期订购两个@variables

时间:2011-02-12 12:39:15

标签: ruby-on-rails ruby-on-rails-3

我有一个带有两个表的消息系统:Message和MessageCopy,每次发送一条消息时,它会为每个收件人生成一个message_copy(包括读取,保存,删除等信息)。

我想展示一个'对话'为我的用户发送和接收的消息,我想将created_at订购的已发送和已接收消息拼接在一起。

以下是我目前分开的两个关系。

@sentmessages = Message.where("author_id = ? AND project_id = ?", current_user.id, @project.id).order("created_at DESC")
@receivedmessages = MessageCopy.where("recipient_id = ? AND project_id = ?", current_user.id, @project.id).order("created_at DESC")

我希望尽可能使用Rails将这些组合成一个关系,而不是MySQL。谢谢!

1 个答案:

答案 0 :(得分:1)

我希望我理解正确 - 你想要一个存储按日期排序的这些对象的变量。

(@sentmessages + @receivedmessages).sort_by(&:created_at).reverse