送信したメッセージと誰かから受信したメッセージを結合する必要があります。
これがコントローラーで最初に実行しようとしたことですが、メッセージは順序付けられていません。私は本当の連合をする必要があると思いますか?
def listmessages
@messages1 = current_user.messages.where(:sender_id => params[:sender_id])
@messages2 = current_user.sent_messages.where(:recipient_id => params[:sender_id])
@messages = @messages1 + @messages2
end
これが私のユーザーモデルです:
class User < ActiveRecord::Base
before_create :distribute_points
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable
has_many :sent_messages, foreign_key: "sender_id", class_name:"Message",
order: "created_at DESC"
has_many :messages, foreign_key: "recipient_id", order: "created_at DESC"
end