我有这个方法形成一个Rails 2.3.4应用程序:
def self.find_all_colored(query, options={})
finder_options = {:conditions => "color = #{query}"}.merge(options)
Car.find(:all, finder_options)
end
我能做到:
Car.find_all_colored("red", :limit => 5)
但是我正在努力让它在Rails 3.1.1中运行,现在我可以使它工作但没有.merge(选项),如果我添加该部分:
def self.find_all_colored(query, options={})
Car.where("color = #{query}").merge(options)
end
我收到此错误:
undefined method `default_scoped?' for {:limit=>5}:Hash
我在stackoverflow.com上搜索并搜索但没有运气......谢谢!
答案 0 :(得分:1)
尝试以下方法:
def self.find_all_colored(query, options={})
self.all({:conditions => {:color => query}}.merge(options))
end