Wyobraźmy sobie następującą sytuację:Najlepsze praktyki o pusty belongs_to stowarzyszenie
Mam dog
modelu i house
model. Pies może należeć do domu, a dom może mieć wiele psów, więc:
Class Dog < ActiveRecord::Base
belongs_to :house
end
Class House < ActiveRecord::Base
has_many :dogs
end
Teraz wyobraź sobie, że ja też chcę stworzyć psy, które nie mają domu. Nie należą do domu. Czy nadal mogę używać tej struktury relacji i po prostu nie informuję o jej tworzeniu podczas tworzenia?
Czy istnieje lepsza praktyka?
Obs .: Użyłem tej analogii, aby uprościć mój problem, ale moja prawdziwa sytuacja jest taka: mam model, który może wygenerować jego użytkownik. Może również tworzyć kolekcje tych instancji, ale może pozostawić instancję poza zbiorem.
może yes..you opuścić '' null' house_id' i kiedy '@ dog.house' go zwróci' zerowe, a więc można sprawdzić go jak 'jeśli @dog. house' i tak dalej .. – rubyprince
Aby upewnić się, że to działa, w bazie danych tabela Dog nie powinna mieć pustej części 't.integer" id_domu ",: null => false'. – Ashitaka