tengo los dos modelos siguientes:rieles roscados mensajes privados
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
se permite a cada usuario tener una conversación con otro usuario y todas las respuestas debe ser roscado del mensaje original.
En mi acción de control 'índice', ¿cómo consulto tanto los mensajes enviados como los recibidos? Por ejemplo, si el Usuario1 golpea '/ users/2/messages /' debería ver toda la conversación entre usuario1 y usuario2 (independientemente de quién haya enviado el primer mensaje). ¿Debo agregar un modelo 'Thread' o hay alguna forma de lograrlo con mi estructura actual?
Gracias.
Estaba buscando una manera de hacer conversaciones simples entre 2 usuarios cuando encontré esto. Parece que funcionará. ¡Gracias! ¿Pero no debería ser 'has_many: conversaciones,: a través =>: participantes' en el modelo de Usuario? – Vickash
Tiene razón acerca de la falta ': a través' en el modelo de Usuario. También debería tener 'has_many: participantes' también. – tadman
Acabo de utilizar este modelo en mi aplicación pero realmente estoy luchando por tener un controlador escrito para crear y responder mensajes. ¿Hay alguna posibilidad de un simple ejemplo? Puedo comenzar como una nueva pregunta si eso es mejor. – Dave