我正在做一个下拉字段,从另一个控制器获取它的值,我这样定义:
def dropdown
@tarefa_list = Tarefa.all.map { |c| [c.Numero] [c.Resumo]}
end
并将其称为:
<%= f.select :Tarefa, @tarefa_list, {}, {class: "dropdown"} %>
Numero是一个整数,Resumo是一个字符串
当我尝试查看表单时出现的错误:
没有将String隐式转换为整数
答案 0 :(得分:0)
怎么样:
@tarefa_list = Tarefa.all.map { |c| [c.Numero, c.Resumo] }
然后:
<%= f.select :Tarefa do %>
<% @tarefa_list.each do |c| -%>
<%= content_tag(:option, c.first, value: c.last) %>
<% end %>
<% end %>
它不漂亮,但我们可以从这里开始。
(基于:http://guides.rubyonrails.org/form_helpers.html#select-boxes-for-dealing-with-models)
顺便说一下,我认为no implicit conversion of String into Integer
来自于表达式[c.Numero] [c.Resumo]
试图获取c.Resumo
定义的数组的[c.Numero]
元素这样的事实。[1,2,3]['a']
}
你可以想象它不起作用。