0
memoized_finderメソッドを実装しようとしていて、わかりにくいエラーが発生しています。memoized_finderメソッドでエラーを取得する
私の方法は次のとおりです。
SyntaxError: (eval):3: odd number list for Hash. @sire ||= find(:all, :conditions => {conditions.inspect})
私の周りGoogleで検索しましたが、間違っているものを思い付くことができません:これは、次のエラーが生じている
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
。
注:使用している方法は、Active Record Associationの拡張に関する素晴らしい記事から来ています。誰かが見たいと思っている場合のリンクは次のとおりです。http://weblog.jamisbuck.org/2007/1/9/extending-activerecord-associations
ありがとうございました。