使用' collection_select'用数组

时间:2018-05-09 06:49:52

标签: ruby-on-rails

我正在尝试使用collection_select在下拉列表中显示数组。我的阵列是:

"[\"\", \"Jacket\", \"Shirt\"]"

代码如下:

<%= form.collection_select(:parts, @parts, :to_s, include_blank: false,prompt:"Select the part" )%>

我收到错误:

ActionView::Template::Error (undefined method `map' for "[\"\", \"jacket\", \"shirt\"]":String
Did you mean?  tap):

1 个答案:

答案 0 :(得分:5)

问题是你的&#34;阵列&#34;不是一个数组,而是一个JSON字符串。

如果将json字符串解析为数组,这应该可以。

parsed = JSON.parse("[\"\", \"Jacket\", \"Shirt\"]")