Je travaille sur une application dans laquelle je suis coincé décider d'une relation. La situation est la suivante:Rails - Quelles sont les bonnes relations entre les tables à trois voies?
Les relations sont mises en œuvre:
Category has_many Items
Outlets HABTM Categories
Le problème est que les points doit avoir plusieurs à plusieurs avec le modèle de l'article. Maintenant, je peux le mettre en œuvre aime simplement:
Outlet HABTM Items
qui me donnera une table avec outlet_id
et item_id
mais dans ce cas, je ne suis pas sûr de savoir comment trouver la liste des articles pour une prise pour l'une des catégories attribuées à lui.
J'ai également vu l'exemple has_many :through
mais il suggère également d'avoir deux clés étrangères dans la table; Je crois qu'il devrait y avoir trois dans ce cas, outlet_id
, category_id
, item_id
, où dans la combinaison de tous les 3 sera unique.
Je peux implémenter cela facilement en utilisant des requêtes SQL brutes mais je n'ai pas encore utilisé de requêtes brutes, et je veux éviter autant que possible. Comment puis-je le faire correctement en utilisant des relations de modèle?