我遇到的问题是我的选择字段选项没有传递要保存的属性参数;但是,如果选择更改为 text_field,则该字段会保存。所以这个问题似乎在我看来。r.fields_for 的其他部分也都在保存。
看法
<%= f.fields_for (:report) do |r| %>
<%= r.select :report_status, ['Ordered', 'Received'], :include_blank => 'Select One' %>
<label for="report_status">Report Status</label>
在嵌套模型的编辑操作中,此选择工作正常,唯一的区别是表单。
我还尝试以更详细的方式进行设置:
<% report_array = ['Select', 'Ordered', 'Received'] %>
<%= r.select(:report_status, options_for_select(Array[*report_array.collect {|v,i| [v,report_array.index(v)] }])) %>
它根本没有通过它们,甚至没有空白。有什么想法可能导致这种情况吗?
更新:
HTML 输出
<select name="project[report_attributes][report_status]" id="project_report_attributes_report_status" class="initialized"><option value="0">Select</option> <option value="1">Ordered</option> <option value="2">Received</option></select>