2017-09-15 11 views
-1

3つのモデルがあります。ユーザー、プロジェクト、スキル私はユーザー&のスキルとスキル&プロジェクトを関連付けている。今私は、スキルに基づいてユーザーにプロジェクトを割り当てたいのですが、割り当てられるプロジェクトに必要なスキルがあれば、それ以外の場合はできません。 1人のプロジェクトで作業できるユーザーの数に制限はありません。 私は柵に取り組んでいます。問題の始まりが必要です。レールの2つのテーブルのデータを比較し、3番目のデータを比較します

+0

ユーザーを使用してProjectAssignmentと呼ばれるモデルを追加する必要があるような音:参照とproje ct:リファレンス。一度それを持って、あなたのhas_manyを追加します:しかし、他の2つのテーブルに条件を追加するには、そのプロジェクトに合ったスキルを持つユーザーのみを許可する「Add User」フォームを追加します。 –

答えて

0

使用可能なプロジェクト/ユーザーのビューを取得するためのメソッドがにhas_manyを追加することですワン:各を通じてスキルテーブルを使用して....

def User < ActiveRecord 
    belongs_to :skill 
    has_many :available_projects, through: :skill, source: :project 
end 

def Project < ActiveRecord 
    belongs_to :skill 
    has_many :available_users, through: :skill, source: :user 
end 

必要に応じてその後の関連を呼び出す...

user.available_projects 

と...

project.available_users 
関連する問題