Rails fields_for f.select参数在新建/创建时没有提交



我遇到的问题是,我的选择字段选项没有传递要保存的属性参数;但是,如果将选择更改为text_field,则该字段将保存。所以这个问题似乎在我看来。r.fields_for的其他部分也都在保存。

<<p> 视图/strong>
<%= f.fields_for (:report) do |r| %>
<%= r.select :report_status, ['Ordered', 'Received'], :include_blank => 'Select One' %>
<label for="report_status">Report Status</label>

在嵌套模型的edit操作上,这个选择工作得很好,唯一的区别是form for。

我也试着用更详细的方式设置它:

<% 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>

这个问题与MaterializeCSS有关,这是我选择尝试的一个较新的前端框架。我应该排除所有可能的因素。我不认为这是在扮演一个角色。所以我将browser-default应用为{:class => "browser-default"},瞧!它保存。

这是一个解决方案仍然让我感到困惑,因为选择在使用物化选择的编辑上工作得很好。但我想我见过更奇怪的东西。

我会检查HTML输出代码以查看生成的最终选择标记,但我认为您可能需要它[["命令","命令"],["收到","收到"]]

相关内容

  • 没有找到相关文章

最新更新