1

患者テーブルと治療テーブルがあります。かなり標準的です。トリートメントテーブルの中にはいくつかの文字列フィールドがあり、何にも関係ありません。とりあえずそのままにしておきましょう(私が想定している必要があると思います)。その場合、患者テーブルはユーザーと関係がありますが、それは関係ないと思います。

私がやろうとしているのは、治療を作成するときにフォームに表示される現在の患者のドロップダウンリストを取得することです。したがって、treatment / _formには、現在の患者のドロップダウンリストを表示するものがあります。患者を作成する方法は非常に単純で、ユーザーはログインする必要があります。次に、CRUDメソッドを使用して患者を作成します(このテーブルでは、基本的にname:stringとphone:stringです)。だから私はそれらの名前を治療フォームのドロップダウンに表示したいだけです。

そうは言っても、治療領域は患者領域と関係がある必要があることを私は理解しています。これですべての設定が完了したので、すぐに実装とこれまでに行ったことに移りましょう。

これまでのところ、これはすべてハードコードされた方法で設定されています。今、私はそれを動的に機能させるための助けが必要です。ハードコードされたバージョンは次のとおりです。

治療形態について:

<%= f.label "Client or Patient Name:" %>
<%= f.collection_select :patient, Treatment::PATIENTS, :to_s, :titleize %>

治療モデル:

PATIENTS = %w[John Jim Max Cathy]

  def role_symbols
    [patient.to_sym]
  end

そしてもちろん、それを機能させるために、patient:string列を治療テーブルに追加しました。しかし、それは美しく機能します。今、私はそのPATIENTS配列にライブデータを持たせたいだけです。モデルでは、PATIENTS =%w [Patient.all]のようなことはできないことに気づきました。では、これをどの程度正確に行うのでしょうか。

どんな助けでも大歓迎です。

4

1 に答える 1

2

app/views/treatments/_form.html.erb

<%= f.collection_select(:patient_id, Patient.all, :id, :name) %>

すべての患者のドロップダウンを提供する必要があります

見る:

于 2012-12-16T02:35:08.080 に答える