1

Rails アプリにネストされたフォーム モデルがあります。モデル内のオブジェクトを編集しようとすると、選択ボックスを除くすべてのフィールド (text_area、check_box など) にデータベースからのデータが取り込まれます。フォームを使用してモデルの既存のデータを編集しているときに、選択ボックスにも入力するにはどうすればよいですか?

<%= form_for @test do |f| %>

  <%= f.fields_for :questions do |builder| %>
    <%= render 'question_fields', f: builder %>
  <% end %>

<% end %>

_question_fields.html.erb

<fieldset>

  <%= f.text_area :question_text %>

  <%= f.select :correct_answer, options_for_select([['A', 1], ['B', 2], ['C', 3], ['D', 4], ['E', 5]]), :prompt => 'Choose the correct answer' %>

  <%= f.check_box :question_check %>

</fieldset>
4

2 に答える 2

8

options_for_select 関数呼び出しで選択したパラメーターを送信する必要があります。

<%= f.select :correct_answer, options_for_select([['A', 1], ['B', 2], ['C', 3], ['D', 4], ['E', 5]], :selected => f.object.correct_answer), :prompt => 'Choose the correct answer' %>
于 2012-05-09T09:17:38.877 に答える
0

の値を設定してみてくださいselected

参照: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_for_select

編集:今はテストできませんがselect、オプションの配列を単独で使用できると確信しています。したがって、ここでは必要ありませんoptions_for_select-次に、選択selectしたオプションを設定する必要があります..これを試して、次を参照してください:

于 2012-05-09T09:17:21.040 に答える