¿Cuál es la diferencia entre t.references
y t.belongs_to
? ¿Por qué estamos teniendo esas dos palabras diferentes? ¿Me parece que hacen lo mismo? Intenté algunas búsquedas en Google, pero no encontré ninguna explicación.
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos do |t|
t.references :bar
t.belongs_to :baz
# The two above seems to give similar results
t.belongs_to :fooable, :polymorphic => true
# I have not tried polymorphic with t.references
t.timestamps
end
end
end
1
Funcionan igual, ¿es algo tan malo? referencias inserta una columna de clave externa para usted. En su lugar, podría usar belong_to para hacer que su migración sea más legible. Ver guías.rubyonrails.org / migrations.html para algunos detalles.
—
muffinista
No digo que sea algo malo. Me confundí si funcionan de la misma manera o de manera diferente, ya que no puedo encontrar documentación que diga específicamente que funcionen de la misma manera. http://guides.rubyonrails.org/migrations.html tampoco está claro al respecto.
—
Tornskaden
Es probable que esto sea solo por compatibilidad con versiones anteriores y
—
bricker
references
será desaprobado y eliminado en una versión futura de rails. No confíes en esto, es solo una suposición educada.
"El otro ayudante se llama referencias (también disponible como pertenece_a). En su forma más simple, solo agrega cierta legibilidad" - de la guía
—
muffinista
También aquí está el código fuente: pertenece_to es un alias directo de referencias github.com/rails/rails/blob/…
—
muffinista