モデルのインスタンスを別のモデル (つまり、Task1 > Relationship < Task2) を介して同じモデルの別のインスタンスにリンクするアプリがあり、これに has_many :through を使用できるかどうか疑問に思っています。
基本的に、リレーションシップ モデルには追加情報 (type_of_relationship、lag) が含まれるため、結合モデルとして持つことが理想的です。ただし、結合するモデルは 2 つではなく、1 つだけです。has_many :through はまだ機能しますか? その場合、結合テーブルはどのようになりますか? Rails の規則では、Activity_id という 2 つの列があり、これは明らかにデータベースでは機能しません。
あるいは、has_many_and_belongs_to を使用して Task モデルと Relationship モデルの間に多対多を設定することもできますが、これが 1 つの Relationship モデルで 2 つの Task モデルのみをリンクする関係を正確に表しているかどうかはわかりません (もちろん、タスクは複数のリレーションシップに属している可能性があるため、多対多)。
私の本能は、has_many_and_belongs_to を使用してモデルのルールを整理するように言っていますが、これを行うためのより良い方法はありますか? 私はこれでぐるぐる回ります!
どんな助けでも感謝します。