En Rails, es al reves de lo que sugeris. En las migraciones, o sea, en
las tablas de la base esta toda la información de cada modelo,
incluyendo las relaciones foraneas. Luego en el modelo, declaras esta
relación foranea. Por ejemplo:
*class Domicilio < ActiveRecord::Base
belongs_to :usuario
end
class Usuario < ActiveRecord::Base
has_one :domicilio
end
Ahí lo declaraste pero para que realmente funcione, tenes que declarar
esta relación en las tablas:
create_table :domicilios do |t| #(siempre las tablas van en plural y
supongo que este es el plural de address)
t.integer :usuario_id
t.string :calle
etc
end
En el código
pepe = Usuario.find 1
pepe.domicilio #imprime <Domicilio aXF5frutA>
pepe.domicilio.id #imprime el id que sea
*
Ahora bien, en Rails no declaras FK en las tablas. No es necesario.
Podes determinar igual todas las relaciones que se te ocurran:
one-to-one, one-to-many, many-to-etc etc.
Esto como recomendación personal, agarrate un manualcito para arrancar.
A mi me paso cuando empece que lo implicito/mágico de Rails, parecia
limitarme y obligarme por todos lados a laburar de un modo anormal.
Rails puede ser un chiquitin esoterico por lo implicito al principio.
Después cuando lo entendes, vas a comprender la fama de lenguaje para
desarrollar rápido.
On 03/16/2011 11:28 PM, Juan Manuel Garcia wrote:
Muchas gracias!
Leyendo la guía que me recomendaste me encontré con esto:
"""The Active Record way claims that intelligence belongs in your
models, not in the database. As such, features such as triggers or
foreign key constraints, which push some of that intelligence back
into the database, are not heavily used."""
¿No se suelen definir foreign key constraints en Rails? Es decir, ¿La
lógica de restricción de la misma la impone el modelo de datos?
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar