Stellen Sie sich folgende Situation vor:
Ich habe ein dogModell und ein houseModell. Ein Hund kann zu einem Haus gehören, und ein Haus kann viele Hunde haben, also:
Class Dog < ActiveRecord::Base
belongs_to :house
end
Class House < ActiveRecord::Base
has_many :dogs
end
Stellen Sie sich vor, ich möchte auch Hunde schaffen, die kein Haus haben. Sie gehören nicht zum Haus. Kann ich diese Beziehungsstruktur weiterhin verwenden und :house_idbeim Erstellen einfach keine Informationen angeben?
Gibt es eine bessere Praxis?
Anmerkung: Ich habe diese Analogie verwendet, um mein Problem zu vereinfachen, aber meine reale Situation ist: Ich habe ein Modell, das ein Benutzer Instanzen davon generieren kann. Er kann auch Sammlungen dieser Instanzen erstellen, eine Instanz jedoch außerhalb einer Sammlung belassen.
house_idnulldu kannst gehen und wann du@dog.housees zurückbringen wirstnilund so kannst du es überprüfenif @dog.houseund so weiter.