複数の多対多の関係を持つアプリケーションを作成しています。ここに一つの例があります:アプリユーザーはいくつかのスキルを持っています。同時に、多くのjob_postsはいくつかのスキルを持っています。複数のRailsの多対多の関係
User----has_many----->Skill(smart)<---has_many----job_posting
^
|
has_many
|
Application
だから、私は基本的に(この例では、「スマート」)1つのスキルを作成することができるようにしたい、次を参照してください。私はこのような何かを持っていることができるように、私はスキルのモデルを再利用できるようにしたいのですが次に、has_many関係を使用して、いくつかの異なるモデルからそのスキルを参照します。
これを行うにはどうすればよいですか?私はこれらの設定のいくつかを私のアプリに持っているので、関係を扱うために余分なモデルを作るのを避けたいと思います。 myUser.skills.add(Skill.find(1)) myCompany.skills.add(Skill.find(1)):最後に
、このような何かを行うことができるようにいいだろう。 ..
PS 私はskill.add()のようなものはないことを知っています。あなたが建設的な何かを持っているなら、私が代わりに使うことができるものを提案してください。おかげで:)私は私のデータベース
あなたは関係情報を保持するためにDBテーブルを設定する必要があります。 'has_many:through'を使ってみてください –
うん、これは私が避けたいと思っていたものです:/特に、このような設定ごとにそれぞれのリレーションシップタイプごとに1つずつ作成しなければならないので、 – Silvertail
どうしましたか?あなたは非効率なルートをとって、場所の外にすべての外部キーを追加することによって関係テーブルを避けることができます。 –