ayuda con asociaciones de rieles
-
10-07-2019 - |
Pregunta
Quiero implementar un sistema de mensajería para mi aplicación.
Tengo usuarios.
¿Qué debo hacer exactamente? ¿Crear un modelo de mensajes con claves externas de dos usuarios extranjeros? ¿Cuál sería la forma más adecuada de hacer esto?
Mi preocupación es que si consulto "mensaje.usuario" No sé si estaría recibiendo el remitente del destinatario del mensaje
Solución
Utilice dos claves foráneas separadas con relaciones apropiadamente llamadas belong_to
para distinguir entre remitentes y receptores.
Dado un modelo de mensaje con las claves foráneas sender_id
y receptor_id
puede hacer:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => "User", :foreign_key => "sender_id"
belongs_to :receiver, :class_name => "User", :foreign_key => "receiver_id"
end
Ahora podrá hacer referencia al remitente de un mensaje con message.sender
y al receptor con message.receiver
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow