选择不使用options_from_collection_for_select

时间:2014-04-23 15:14:38

标签: ruby-on-rails ruby-on-rails-4

line belongs_to :manufacturer

我在行编辑视图中有以下代码

<%= f.select :manufacturer_id, options_from_collection_for_select(Manufacturer.all, :id, :name, {:selected => @line.manufacturer}) %>

未将当前的@ line.manufacturer显示为已选中。类似的代码在其他地方有效,所以我只能假设它是使用options_from_collection_for_select的结果。

我尝试参考评论here来改变它,但无法使其发挥作用。

解决方案是什么?

1 个答案:

答案 0 :(得分:2)

options_from_collection_for_select方法签名调用整数作为第四个参数,而您传递的是散列。尝试

<%= f.select :manufacturer_id, options_from_collection_for_select(Manufacturer.all, :id, :name, @line.manufacturer.id) %>

注意:根据this commentselected参数必须是整数ID。