0
我正在升级Rails 2.3.5应用程序到Rails 3.我没有实现该应用程序,我只是升级它。我发现开发人员使用查询哈希的方式很难在不触及许多我想避免的文件的情况下进行更改。移植条件散列在新rails中使用3活动记录查询界面
class A
def method_1
AnObject.find(:all, :conditions => {:param_1 => @param_1}.merge(specific_params))
end
def specific_params
raise NoMethodError, "Subclasses must implement this method", "specific_params"
end
end
class B < A
def specific_params
{param_B1 => false, param_B2 => true}
end
end
有很多类,从继承A.我需要在A类的查询转换到Rails 3可能有人请建议最好的办法,以港口这个到Rails 3,而不改变其继承的类一个工具specific_params方法。
谢谢。
我需要将其转换为AnObject.where(...)形式 – Zeeshan 2011-06-15 10:12:14
为什么呢?我不明白你想要做什么。 – Ant 2011-06-15 11:04:39
根据[link]()简而言之,传递选项hash包含:conditions,:include,:joins,:limit,:offset,:order,:select,:readonly,:group,:having,:from,:lock到任何ActiveRecord提供的类方法,现在都被弃用了。 – Zeeshan 2011-06-15 11:07:50