2012-12-11 151 views
1

我收到以下錯誤:未定義的方法each_pair

undefined method `each_pair' for []:Array 

試圖遍歷一個哈希在Rails ERB視圖時:

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

在平原紅寶石,它的工作原理精細。有任何想法嗎?

+0

那麼,是導致數組或哈希? –

+0

@result是一個哈希(絕對,因爲@ result.kind_of?(哈希)= true) – skeniver

+1

好吧,顯然不是。或者不是每一種情況。 –

回答

2

根據錯誤消息,@result必須是陣列。方法each_pair沒有爲它定義。 (方法each_pair爲哈希或類似規定)

試試這個:

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

你們都是正確的(當然)。在我正在使用的初始頁面加載時

@result = [] 

它只在填充後才變成散列。

使用

@result = Hash.new 

固定一切

很抱歉的無用後