我的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>
答案 0 :(得分: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' %>
答案 1 :(得分:0)
尝试为selected
设置一个值。
编辑:现在无法对其进行测试,但我非常确定select
会自行选择一系列选项。所以你不应该在这里options_for_select
- 然后select
应该设置选中的选项。
试试这个并参考:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select