Imagine la siguiente situación:mejores prácticas sobre la asociación belongs_to vacío
tengo un modelo dog
y un modelo house
. Un perro puede pertenecer a una casa y una casa puede tener muchos perros, así:
Class Dog < ActiveRecord::Base
belongs_to :house
end
Class House < ActiveRecord::Base
has_many :dogs
end
Ahora, imagina que yo también quiero crear perros que no tienen una casa. Ellos no pertenecen a la casa. ¿Puedo seguir usando esa estructura de relación y simplemente no informar un :house_id
al crearlo?
¿Hay una mejor práctica?
Obs .: Utilicé esta analogía para simplificar mi problema, pero mi situación real es: tengo un modelo que un usuario puede generar instancias de él. También puede crear colecciones de esas instancias, pero puede dejar una instancia fuera de una colección.
yes..you puede dejar '' house_id' null' y cuando '@ dog.house' se devolverá' las negativas y así se puede comprobar como 'si @dog. casa' y así sucesivamente .. – rubyprince
Para asegurarse de que esto funcione, en su base de datos, la tabla Dog no debe tener la parte nula de 't.integer" house_id ",: null => false'. – Ashitaka