使用轨道符号设置选项

时间:2017-04-01 08:36:34

标签: ruby-on-rails html-select

我选择了以下形式:

<%= select_tag :x, options_from_collection_for_select(@dmj, :id, :name, :selected), {class: "form-control"} %>

但是当我加载页面时,未选择其值在db中设置的选项。

符号:selected来自控制器中的SQL查询,如果我尝试将:name替换为:selected中的options_from_collection_for_select,我可以看到它的值是对的。

此外,如果我在options_from_collection_for_select中手动设置整数,则会选择相应的选项。

为什么我没有成功选择带符号的选项?

编辑:

我的查询正在进行连接以从Join表中检索所选内容。这是查询: @dmj = DiscoveryModeInjury.find_by_sql(&#34; SELECT D.name,D.id,L.discovery_mode_injury_id AS已选中


discovery_mode_injuries D
 LEFT OUTER JOIN
link_dismodeinj_hospitalizations L
ON
D.id = L.discovery_mode_injury_id
 WHERE
flag =&#39; disc&#39;
 订购单 D.name&#34)

如果我正确理解了Akash Srivastava的建议,那么查询应该返回DiscoveryModeInjury id字段?怎么样..?感谢。

1 个答案:

答案 0 :(得分:0)

确保您对:selected的查询返回:id字段。基本上,selected中的options_from_collection_for_select()选项应与value字段位于同一字段中,在您的情况下为:id。我们中的许多人犯了这样的错误,即将selected的结果保留为collection的对象。