我收到以下错误:
undefined method `each_pair' for []:Array
尝试在Rails erb视图中迭代哈希时:
<% @result.each_pair do |k, v| %>
<li><%= k %></li>
<% end %>
在纯Ruby中,它工作正常。有什么想法吗?
答案 0 :(得分:2)
根据错误消息,@result
必须是数组。没有为它定义方法each_pair
。 (方法each_pair
是为哈希等定义的。)
试试这个:
<% @result.each do |v| %>
<li><%= v %></li>
<% end %>
答案 1 :(得分:1)
你是对的(当然)。在初始页面加载我正在使用
@result = []
只有在填充后才会成为哈希。
使用
@result = Hash.new
修复了一切
抱歉无用的帖子