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应该设置选定的选项。试试这个并参考:http ://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

于 2012-05-09T09:17:21.040 回答