Rails erb文件中的undefined方法each_pair

时间:2012-12-11 11:42:00

标签: ruby-on-rails

我收到以下错误:

undefined method `each_pair' for []:Array

尝试在Rails erb视图中迭代哈希时:

<% @result.each_pair do |k, v| %>
  <li><%= k %></li>
<% end %>

在纯Ruby中,它工作正常。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

根据错误消息,@result必须是数组。没有为它定义方法each_pair。 (方法each_pair是为哈希等定义的。)

试试这个:

<% @result.each do |v| %>
  <li><%= v %></li>
<% end %>

答案 1 :(得分:1)

你是对的(当然)。在初始页面加载我正在使用

@result = []

只有在填充后才会成为哈希。

使用

@result = Hash.new

修复了一切

抱歉无用的帖子