Stellen Sie sich folgende Situation vor:
Ich habe ein dog
Modell und ein house
Modell. 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_id
beim 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_id
null
du kannst gehen und wann du@dog.house
es zurückbringen wirstnil
und so kannst du es überprüfenif @dog.house
und so weiter.