/ / Fa t.reference: la categoria sostituisce effettivamente l'associazione appartiene_a? - ruby-on-rails, ruby, ruby-on-rail-4, associazioni modello

T.reference: la categoria sostituisce effettivamente l'associazione appartiene_a? - ruby-on-rails, ruby, ruby-on-rail-4, associazioni modello

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 № 1

references è 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)