2011-12-18 23 views
0

我試圖實現memoized_finder方法,並得到一個我不明白的錯誤。使用memoized_finder方法獲取錯誤

我的方法如下:

class Module 
def memoized_finder(name, conditions=nil) 
class_eval <<-STR 
    def #{name}(reload=false) 
    @#{name} = nil if reload 
    @#{name} ||= find(:all, :conditions => #{conditions.inspect}) 
    end 
STR 
end 
end 

這導致以下錯誤:

SyntaxError: (eval):3: odd number list for Hash. @sire ||= find(:all, :conditions => {conditions.inspect}) 

我身邊有GOOGLE上搜索,但不能想出什麼錯誤。

注意:我使用的方法來自一篇關於擴展Activerecord關聯的文章。這裏的鏈接,如果任何人想看看:http://weblog.jamisbuck.org/2007/1/9/extending-activerecord-associations

感謝您的意見。

回答

0

事實證明,我的jruby安裝基於與memoized_finder方法不兼容的rails版本。