Tengo dos modelos, departamentos y empleados, un departamento puede
tener muchos empleados
class Empleado < AR::Base
belongs_to :departamento
end
class Departamento < AR::Base
has_many :empleado
end
Ahora cada departamento tiene un encargado, esto se guarda en la tabla
departamento en la columna encargado_id
Ahora como quedaria esto? Donde va el belongs_to y donde va el has_one?
Alguien me puede pasar el link al diagrama visual del belongs_to,
has_one, etc?
Gracias
Esteban,
Para encargado, debes indicar cuál es la clase:
class Empleado < ActiveRecord::Base
belongs_to :departamento
end
class Departamento < ActiveRecord::Base
has_many :empleados
has_one :encargado, :class_name => ‘Empleado’
end
Y funciona
así:
emp = Empleado.find(:all)
=> [#<Empleado:0x28c01e8 @attributes={“name”=>“Juan”,
“departamento_id”=>“1”, “id”=>“1”}>, #<Empleado:0x28c01ac
@attributes={“name”=>“Pedro”, “departamento_id”=>“1”, “id”=>“2”}>]
emp[1].name
=> “Pedro”
emp[1].departamento.name
=> “Sistemas”
emp[1].departamento.encargado.name
=> “Juan”
Saludos