就像facebook消息界面的左栏一样,我想列出current_user已经发过消息或被发过消息的用户,有效地制作了一个'conversations'的索引列表。
然后可以单击此列表中的项目以显示两个用户之间的消息历史记录,即实际对话本身,我已经在工作,例如
Message.where("(sender_id = ? and user_id = ?) or (sender_id = ? and user_id = ?)",from_id, to_id, to_id, from_id)
rails 命令会是什么样子来制作这个对话索引?类似User.where has messaged current user
或current_user.messages map unique users, order(message created_at)
?(请原谅convo-code)
关联架构:
class User < ActiveRecord::Base
has_many :messages
end
class Message < ActiveRecord::Base
belongs_to :user
end