0

モデルの関連付けに別の列を追加したい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 を取得することを期待しています
が、モデル関係を構成する方法がわかりません。患者データ全体を取得しました。

では、どのようにモデルを設定するのですか?

4

1 に答える 1