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来改变它,但无法使其发挥作用。
解决方案是什么?
答案 0 :(得分:2)
options_from_collection_for_select
方法签名调用整数作为第四个参数,而您传递的是散列。尝试
<%= f.select :manufacturer_id, options_from_collection_for_select(Manufacturer.all, :id, :name, @line.manufacturer.id) %>
注意:根据this comment,selected
参数必须是整数ID。