Rails fields_for f.select params不在New / Create上提交

时间:2015-07-06 17:38:39

标签: ruby-on-rails ruby-on-rails-4 fields-for nested-form-for

我遇到的问题是我的选择字段选项没有传递要保存的属性参数;但是,如果将选择更改为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>

2 个答案:

答案 0 :(得分:1)

这个问题与MaterialiseCSS有关,这是我选择试用的更新的前端框架。我应该删除所有可能的因素。我没有把它当作一个角色来考虑。所以我将browser-default应用为{:class =&gt; &#34;浏览器的默认&#34;瞧。它救了。

这是一个解决方案仍然让我感到困惑,因为使用materializecss选择编辑时选项工作正常。但我想我已经看到了陌生的东西。

答案 1 :(得分:0)

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