Tengo la siguiente clase Person
que tiene un padre que también es otra persona. Parece que no puedo entender cómo hacer que las relaciones funcionen.tiene una relación con la misma clase
class Person < ActiveRecord::Base
attr_accessible :mom, :dad
has_one :mom, :class_name => 'Person', :primary_key => "mom_id", :foreign_key => "id"
has_one :dad, :class_name => 'Person', :primary_key => "dad_id", :foreign_key => "id"
end
he añadido "mom_id" y "dad_id" como enteros a mi modelo con una migración. Sin embargo, cuando uso el rails console
, no puedo acceder a los atributos mom
o dad
después de la configuración mom_id
y dad_id
. Todavía devuelven nil
.
¿Alguna sugerencia sobre lo que estoy haciendo mal?
Si lo haces número infinito no la persona puede crear objetos de veces. 'Persona1 tiene una persona que tiene otra persona que tiene una tercera persona y así sucesivamente ...' – ShaggyInjun
Bueno, las bases de datos son tan grandes que no pueden ser infinitas ... pero teóricamente, sí. Sin embargo, este es solo un ejemplo simple de mi caso de uso real que no tiene ese problema. – jasonlfunk
'has_one' no significa que un modelo debe tener otro modelo. En realidad, significa que puede tener como máximo un objeto. – cdesrosiers