J'ai donc une configuration d'association de modèle complexe que je n'arrive pas à obtenir.Associations de modèles complexes - Rails
J'ai:
Owners Doors
Clients -> Orders -> < | /
Property - Windows
\
Heating/Cooling
Ainsi, le processus de pensée est que chaque propriété peut avoir plusieurs portes, fenêtres, systèmes de chauffage/refroidissement, et les propriétaires, et chaque propriétaire peut avoir beaucoup propriété.
Lorsqu'un commande est envoyée uniquement avec propriétaire et propriété info (adresse, etc.), nous allons et trouver combien de portes, fenêtres, systèmes de chauffage/refroidissement de la propriété a, mettre à jour le commande, puis l'a renvoyé au client .
En ce moment j'ai mes modèles installation qui, (condensé ici pour économiser de l'espace)
Clients has_many :orders
Order -> belongs_to :property, :clients
Order -> has_many :doors, :windows, :heating/cooling, through: :property
Property -> has_many :doors, :windows, :heating/cooling, :owners
Doors, Windows, Heating/Cooling, Owners -> belongs_to :property
Donc mon problème est que je veux être en mesure de savoir ce que les portes, les fenêtres et le chauffage/refroidissement ont été tirés sur quel ordre. Donc, je dirais qu'ils devraient appartenir à l'ordre MAIS si plusieurs commandes arrivent sur la même propriété, je ne veux pas avoir la même information pour ces modèles dans mon db plusieurs fois pour cette propriété juste parce qu'ils viennent sur un ordre différent, et veulent également être en mesure de rechercher la propriété elle-même et voir tous les ordres associés, portes, fenêtres, chauffage/refroidissement. J'espère que mon explication était claire car je suis encore assez nouveau sur les rails et comment les associations fonctionnent et leurs capacités, donc toute idée serait super utile, merci d'avance.
Les modèles de portes/fenêtres/chauffage/refroidissement sont suffisamment uniques pour justifier leurs propres modèles/tables. Alors que certaines propriétés se chevauchent (taille, surface, etc.), elles ont beaucoup de leurs propres propriétés. Ma pensée initiale était de faire en sorte que chaque modèle 'appartient_à' à la fois 'property' et' orders' mais mon souci est que si un ordre est passé pour une propriété existante où nous savons déjà quel genre de portes ou de fenêtres il a, l'ordre créera de nouveaux enregistrements de portes ou de fenêtres et ne référencera pas les enregistrements actuels. Je me demande si je devrais mettre les modèles à polymorphique et les relier aux tables jointes aux deux. –