我正在尝试使用: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)不能工作中 我不知道出什么事了吗?请让我知道
答案 0 :(得分:2)
此行返回一个对象,只是因为您使用select id并不会改变您将对象找回的事实。
Secure Sockets Layer
TLSv1.2 Record Layer: Handshake Protocol: Client Hello
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 512
Handshake Protocol: Client Hello
Handshake Type: Client Hello (1)
Length: 508
Version: TLS 1.2 (0x0303)
但是您只需要ID
Discrepancy.all.select('id').where("category LIKE 'AVOD%'").first