Ayer le di una vuelta a las rails guides para refrescar la memoria acerca de las relaciones polimórficas y siguiendo un par de enlaces llegué a la guía sobre migrations. Y encontré que hay una helper para crear campos con foreign keys.
Los ejemplos de la guía son estupendos:
create_table :products do |t|
...
t.references :category
...
end
creará una tabla products con un campo category_id para hacer referencia a una tabla categories.
Para reforzar la clave extranjera con un índice apropiado es necesario utilizar un plugin como foreign key migrations.
Por otra parte, también podemos utilizar la helper references para crear campos para una relación polimórfica:
create_table :addresses do |t|
...
t.references :addressable, :polymorphic => true
...
end
creará una tabla products con los campos addresable_type y addresable_id para que funcione una relación como
class Address < ActiveRecord::Base
belongs_to :addressable, :polymorphic => true
end
Más información, aquí y aquí.
¡Salud y rocanrol!
Darkness
Imprisoning me
All that I see
Absolute horror
I cannot live
I cannot die
Trapped in myself
Body my holding cell
Landmine
Has taken my sight
Taken my speech
Taken my hearing
Taken my arms
Taken my legs
Taken my soul
Left me with life in hell
miércoles, 13 de enero de 2010
Suscribirse a:
Entradas (Atom)