混乱の解決策を見つけようとしてからほぼ1週間が経ちました...ここにあります:
私はProgram
モデルを持っています。私はProgramCategory
モデルを持っています。私はProgramSubcategory
モデルを持っています。
もっと明確にしましょう:
ProgramCategory ======> Shows, Movies,
ProgramSubcategory ===> Featured Shows, Action Movies
Program ==============> Lost, Dexter, Game of Thrones etc...
これらの各モデルを相互に関連付けたいと考えています。特に多対多の関連付けでやりたいことがあります。categories_navigation
JOIN モデル/テーブルがあり、他のすべてのテーブルがそれに接続されています。このようにして、これらすべてのモデルのすべてのフィールドにアクセスできます。
しかし...
ご存知のように、has_many :through
スタイルの関連付けは常に複数形です。has_one :through や belongs_to through などはありません。しかし、配列ではなく、特異なオブジェクトで遊びたいです。AProgram
には ONLY ONESubcategory
と ONLY ONEがありCategory
ます。結合テーブルを使用して、これら3つを接続するだけです。たとえば、現時点ではアクセスできますが、たとえば次program.program_categories[0].title
のようにアクセスしたいですprogram.program_category
。
'has_many :through's の機能を持ちながら、has_one の単数形の使用規則をまとめて使用するにはどうすればよいですか? :|
PS: 前回の質問もこの状況についてでしたが、ゼロから始めて、協会の哲学について学ぶことにしました。必要に応じて、私の以前の投稿を確認してください: How to access associated model through another model in Rails?