我正在尝试使用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):
答案 0 :(得分:5)
问题是你的&#34;阵列&#34;不是一个数组,而是一个JSON字符串。
如果将json字符串解析为数组,这应该可以。
parsed = JSON.parse("[\"\", \"Jacket\", \"Shirt\"]")