Rails mensajes privados roscados

Tengo los siguientes dos modelos:

class Message < ActiveRecord::Base
  belongs_to :to_user, :class_name => 'User'
  belongs_to :from_user, :class_name => 'User'

  has_ancestry #Using the 'ancestry' gem
end

class User < ActiveRecord::Base
  has_many :messages_received, :class_name => 'Message', :foreign_key => 'to_user_id'
  has_many :messages_sent, :class_name => 'Message', :foreign_key => 'from_user_id'
end

Cada usuario tiene permitido tener una conversación con otro usuario y todas las respuestas deben enviarse desde el mensaje original.

En mi acción de controlador 'índice', ¿cómo consulto los mensajes enviados y los mensajes recibidos? Por ejemplo, si el Usuario1 golpea '/ users / 2 / messages /', deberían ver toda la conversación entre user1 y user2 (independientemente de quién envió el primer mensaje). ¿Necesito agregar un modelo de 'Hilo' o hay alguna manera de lograr esto con mi estructura actual?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta