en este caso que sale en muchos tutoriales
- usuarios
- post
-comentarios
la relación seria “podría” ser
usario
has_many :post
post
belongs_to :usuario
has_many :comentarios
comentario
belongs_to :post
y si la relación es así
usuario
has_many :post
has_many :cometarios
post
has_many :comentarios
belongs_to :usuario
comentario
belongs_to :post
belongs_to :usuario
¿cual de las dos es la forma correcta de relacionarlas?
Gracias por sus opiniones
Un saludo
la verdad, yo creo que en este caso, no se trata de cual es más
correcta, sino del enfoque que tú quieras darle.
con el primer caso, estarÃas diciendo que los comentarios solo están
relacionados directamnete con el post, y para acceder a los de un
usuario tendrÃas que hacerlo a traves de sus posts, con algo como
usuario.posts.find(2).comentarios
Con el segundo caso, tendrÃas una relación directa con ambas clases, asÃ
que podrÃas hacer
usuario.comentarios
ó como en el primer ejemplo.
Es decir, ambas soluciones creo que te servirÃan, pero según mi
criterio, utilizarÃa la 1ª de ellas, ya que los comentarios a quien
pertenecen son al post, no al usuario, asà que no tiene porque haber una
relación directa entre ellos.
Espero te sirva de ayuda.
El jue, 17-04-2008 a las 13:12 +0200, alarkspur escribió:
Hola,
Mi pequeño aporte. Creo que la gran diferencia entre ambos enfoques es
que la segunda te obliga a que cada comentario sea de un usuario que
está registrado, y el primero te permitirÃa usuarios anónimos.
Sergio
La Serena
Chile.
fernando.martinezgil escribió:
El 17/04/2008, a las 13:21, fernando.martinezgil
escribió:
pertenecen son al post, no al usuario, así que no tiene porque
haber una
relación directa entre ellos.
Muchas gracias por sus opiniones, aun asi le veo un fallo a la
primera opción, que pasaría si un usuario no escribe posts, que solo
escribe comentarios, que ocurre? en ese caso no valdría la primera
opción ¿no?
De todas formas llegados a este punto lo mejor va a ser probar ambas
opciones y comparar.
Muchas gracias.
Saludos.
2008/4/17 alarkspur [email protected]:
El 17/04/2008, a las 13:21, fernando.martinezgil escribió:
Muchas gracias por sus opiniones, aun asi le veo un fallo a la
primera opción, que pasaría si un usuario no escribe posts, que solo
escribe comentarios, que ocurre? en ese caso no valdría la primera
opción ¿no?
Creo que tu planteamiento inicial se puede reducir a: ¿Deben los
usuarios ser capaces de ver sus propios comentarios en algún lugar
diferente a los posts?
Si quieres tener esto necesitas relacionar las comentarios con los
usuarios. Por otro lado, si quieres usar el modelo común entre los
blogs y sitios así, relaciona cada comentario con un post y olvidate
del usuario que lo escribio.
Creo que lo hemos entendido de distinta manera, tal y como yo lo veo en
principio, no estamos guardando ninguna información de los usuarios que
hacen comentarios, en todo caso, según la segunda opción, los
comentarios pertenecerÃan directamente al usuario que ha escrito el
post, lo cual no tiene mucho sentido.
En cualquier caso, yo me quedarÃa con la primera.
El jue, 17-04-2008 a las 09:08 -0400, listas.sguamanb escribió:
Creo que tu planteamiento inicial se puede reducir a: ¿Deben los
usuarios ser capaces de ver sus propios comentarios en algún lugar
diferente a los posts?
Ok, ahora si esta claro
Muchas gracias Federico.
Un saludo.