![](/img/trans.png)
[英]no implicit conversion of String into Integer error in ruby on rails
[英]no implicit conversion of String into Integer Ruby on Rails
我正在做一個下拉字段,它從另一個控制器獲取它的值,我這樣定義它:
def dropdown
@tarefa_list = Tarefa.all.map { |c| [c.Numero] [c.Resumo]}
end
並這樣稱呼它:
<%= f.select :Tarefa, @tarefa_list, {}, {class: "dropdown"} %>
Numero是整數,Resumo是字符串
我嘗試查看表單時收到的錯誤即時消息:
沒有將String隱式轉換為Integer
怎么樣:
@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
的no implicit conversion of String into Integer
來自以下事實:表達式[c.Numero] [c.Resumo]
試圖獲取[c.Numero]
定義的數組的c.Resumo
元素,所以類似[1,2,3]['a']
如您所料,它將無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.