Digamos que tengo Producto <Categoría, y un Producto belongs_to
Categoría
esta teniendo t.reference :category
reemplazando la necesidad de la belongs_to
o has_one
asociación? ¿Genera automáticamente el category_id
en la mesa ?
Respuestas
1 para la respuesta № 1references
es solo un alias para belongs_to
. Es el mismo método. Se puede ver en el código fuente.
alias :belongs_to :references
Genera automáticamente la clave foránea principal en la tabla. No tiene relación con las declaraciones de asociación dentro de sus modelos. Todavía tienes que escribir estos exclusivamente. Lo que ambos references
y belongs_to
are es un acceso directo para agregar la columna de clave externa.
Tenga en cuenta que belongs_to
Aquí está en el contexto de las migraciones, y no la asociación modelo. belongs_to
.
0 para la respuesta № 2
Para ActiveRecord, uno es solo un alias para el otro.
references
es el método original (enlace a doc), y belongs_to
es un alias para references
(enlace a doc)
Ten en cuenta que hay otro método. #references
de ActiveRecord que hace cosas diferentes (enlace a doc)