モデルの関連付けに別の列を追加したいhttp://guides.rubyonrails.org/v2.3.11/association_basics.html#the-has-many-through-associationを参照
医師
id
name
organization_id (new one)
予定
id
physician_id
patient_id
organization_id (new one)
appointment_date
忍耐
id
name
organization_id (new one)
私の要件は、3 つのテーブルのいずれかが異なる organization_id を持っている場合、関連付けが機能しないことです。
コントローラーでは、コードを使用していました: @all_patients = Physician.find_by_id_and_organization_id(params[:id], params[:orgId]).patients
すべての患者を医師に所属させ、UI に表示します。一部のダーティ データの場合、テーブルの予定と患者の organization_id が正しくない可能性があります。私が望むのは、UI が、organization_id が予期されたものではないというデータを表示してはならないということです。たとえば、データベースにデータがあります:
医師:
1, "医師 1", 1
2, "医師 2", 1
予定
1, 1, 1, 1, 2013-1-1
2, 1, 2, 1, 2013-1-1
3, 1, 3, 1, 2013-1-1
4, 1, 4, 2, 2013- 1-1
患者
1、「患者 1」、1
2、「患者 2」、2
3、「患者 3」、1
3、「患者 4」、1
Physician.find_by_id_and_organization_id(1,1).patients を使用している場合、次の患者
1、「患者 1」、1
を取得することを期待しています
が、モデル関係を構成する方法がわかりません。患者データ全体を取得しました。
では、どのようにモデルを設定するのですか?