1

列 sub_status の下にデバイスのサブスクリプション ステータスを保存している user_inputs テーブルがあり、これらのサブスクリプション ステータスをドロップ ダウン オプションとして同じ名前で保存します。ドロップダウンから 1 つのオプションを選択した後、ステータスの ID をequipment_assets テーブルのcolumn_name subscription_statusの下に保存し、ブラウザにステータスを表示します。collection_select を試していますが、うまくいきません。

<div class="pluginESV_formfield">
<%= f.label :subscription_status %><br />
<%= collection_select  :sub_status,UserInput.all,:id, :subscription_status %></div>

これによりエラーが発生し、引数の数が間違っています。これを手伝ってください。

ここ-

  • :sub_status は、ドロップダウン オプションを持つフィールドです。
  • UserInput は、これらのステータスの取得元のモデルです。
  • :id は、user_inputs テーブルからの sub_status のインデックスです
  • :subscription_status は、選択した ID が格納される equipment_assets テーブルの列です。コードの何が問題なのかわかりません。

これで私を助けてください。

4

1 に答える 1

1

equipment_assetsフィールドを持つテーブルsubscription_statusの場合、次のように更新する必要がありcollection_selectます。

<%= collection_select :equipment_asset, :subscription_status, UserInput.all, :id, :sub_status %>

collection_select構文に従って、つまり、

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})

object引数を逃したため、エラーが発生しましwrong number of argumentsた。フォームの送信時にドロップダウンの選択された値がparams ハッシュで正しく渡されるように、適切なand を使用してselectHTML 要素を形成するのに役立つため、これは必須の引数です。idnameselect

于 2014-04-14T13:25:50.833 に答える