Pregunta

Lo que encontrar algunas preguntas sobre lo que alrededor de las asociaciones de rieles que son algo así como mi pregunta, pero parece que no puedo por la vida de mí para entender cómo usar belongs_to múltiples modelos.

Aquí está la estructura de la tabla que la intención de tener:

User
 id

Post
 id
 user_id #foreign key; a post belongs to a User aka "Who created this post"

Comment
 id
 user_id #foreign key; a comment belongs to a User aka "Who made this comment"
 post_id #foreign key; a comment belongs to a Post aka "What post this comment is for"

Y asociaciones

User
 has_many :posts
 has_many :comments

Post
 belongs_to :user
 has_many :comments

Comment
 belongs_to :user
 belongs_to :post

Es este el enfoque correcto?

¿Fue útil?

Solución

Sí que es el enfoque correcto.

Otros consejos

Aunque no siempre es el enfoque de "mejor", rieles ofertas lo que se llama un polimórfica belongs_to asociación . Se le impide definir una clave externa de la base de datos porque la columna xxx_id hace referencia a un identificador en una de las muchas mesas posibles, mientras que otra columna designa el nombre del modelo de la mesa, pero hace que la relación más explícita en los carriles. Asimismo, se restringe el modelo sólo pertenecen a uno de los otros modelos, en lugar de pertenecer a uno o más, como ocurriría con el Configuración de varias claves externas sin un poco de magia dB adicionales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top