我试图使用:selected属性来预设表单中的值。不幸的是,它被设置为空白值。
<div class="field">
<%= form.label :discrepancy_id, 'Failure Category' %>
<%= form.collection_select :discrepancy_id, Discrepancy.group(:category), :id, :category, {:selected => (Discrepancy.all.select('id').where("category LIKE 'AVOD%'").first)}, :class => 'failure-category', :required => true%>
</div>
该查询在Rails控制台中运行良好:
Discrepancy.all.select('id').where("category LIKE 'AVOD%'").first
它不适用于:selected属性。注意:如果我指定id值(即:selected => 1)可以正常工作,但是(:selected => Discrepancy.all.select('id')。where(“ category LIKE'AVOD%'”)。first)不能工作,我不了解发生了什么问题?请告诉我
这行代码返回一个对象,只是因为您使用select id并不会改变您返回对象的事实。
Discrepancy.all.select('id').where("category LIKE 'AVOD%'").first
但是,您只需要ID
Discrepancy.where("category LIKE 'AVOD%'").first.id
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句