Diciamo che ho Prodotto <categoriae a Prodotto belongs_to
Categoria
sta avendo t.reference :category
sostituendo la necessità del belongs_to
o has_one
associazione? genera automaticamente il category_id
sul tavolo ?
risposte:
1 per risposta № 1references
è solo un alias per belongs_to
. È lo stesso metodo: puoi vedere nel codice sorgente.
alias :belongs_to :references
Genera automaticamente la chiave esterna genitore nella tabella. Non ha alcuna relazione con le dichiarazioni di associazione all'interno dei tuoi modelli. Devi ancora scriverli esclusivamente. Che entrambi references
e belongs_to
sono una scorciatoia per aggiungere la colonna chiave esterna.
Nota che belongs_to
qui è nel contesto delle migrazioni e non l'associazione del modello belongs_to
.
0 per risposta № 2
Per ActiveRecord, uno è solo un alias per l'altro.
references
è il metodo originale (link a doc), e belongs_to
è un alias per references
(link a doc).
Attenzione che esiste un altro metodo #references
di ActiveRecord che fa cose diverse (link a doc)