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
感謝您的意見。