initalizers フォルダーの constant.rb ファイルにすべての定数があります。
サンプルと患者の 2 つのモデルがあります。サンプルは 1 人の患者のみを持つことができますが、患者は複数のサンプルを持つことができます。
constants.rb の定数の 1 つを使用する場合は、新しいサンプル フォームで、単純な選択を行います。
<%= f.select :consentimentoContacto, DESCONHECIDO %>
そして、それはうまく機能します。
患者モデルのフィールドを使用する場合は、collection_select を使用します。
<%= f.collection_select(:patientID, Patient.all, :id, :date_of_birth ) %>
そしてそれはまた正常に動作します...
私が今やりたいことは、患者モデルに関連する定数の 1 つを新しいサンプル フォームで使用することです...
定数は次のとおりです。
ALIMENTOS = ['Sim', 'Nao', 'Desconhecido', 'Nao preenchido']
私はこのようなことができると思いました:
<%= f.collection_select(:patientID, ALIMENTOS, :id, :patientFeeding ) %>
しかし、「'Sim':String の未定義のメソッド `patientFeeding'」エラーが返されます...何が間違っていますか?
これを達成するための最良の方法は何ですか?
編集
データベースから値を取得していないため、collection_select の代わりに select のみを使用する必要があることがわかりました。だから私はこれを試しました:
select(:patient, :patientFeeding, ALIMENTOS)
そして、私はこのエラーを受け取ります:
undefined method `merge' for ["Sim", "Nao", "Desconhecido", "Nao preenchido"]:Array
これは単純なマッピング エラーのようです... しかし、私は過去 2 日間それで立ち往生しています... 誰でも助けてくれますか?