He estado jugando con STI y belongs_to/has_many relaciones y estoy un poco confundido.Rails Pregunta: belongs_to with STI - ¿cómo hago esto correctamente?
tengo unas pocas preguntas basadas en una configuración similar al modelo:
class Parental < ActiveRecord::Base
end
class Mother < Parental
has_many :babies
end
class Father < Parental
has_many :babies
end
class Baby < ActiveRecord::Base
belongs_to :??????
end
- ¿Qué debe
Baby
belong_to? - En términos de una migración, ¿qué debo nombrar/agregar para clave externa en la tabla
babies
? - Me ha costado investigar esto, ¿hay una fuente definitiva que lo explique? Los documentos de la API no parecían pegarle en la cabeza O me lo perdí (lo cual es totalmente posible).
Mi primer pensamiento es poner a parental_id
babies
junto con un método como Baby#owner
que hace lo siguiente:
- Golpea self.parental
- Determina el tipo de la de los padres
- devuelve el tipo correcto de parental (podría ser una madre, podría ser un padre)
Tha ¡tú!
Gracias por responder. ¿Puedo molestarte para que mires @ mi actualización y comentes sobre esa solución?parece menos desorden en la mesa, pero podría estar totalmente equivocado. –
Claro, comenté la solución 'parental_id', que no funcionará. – jefflunt
AH! Eso tiene mucho sentido. Gracias de nuevo. Marqué tu respuesta como la solución. Tengo un seguimiento q espero que no sea demasiado molesto. Como mencionas, en esta situación realmente necesitas DOS propietarios como un niño (aparte de Jesús) siempre tendrá dos padres. ¿Qué haces cuando el objeto bajo propiedad solo puede pertenecer a 1 propietario? Por ejemplo, digamos un 'Post' y la configuración de STI es' Author', 'LivingAuthor