如何解决要在新的Rails 3活动记录查询界面中使用的移植条件哈希值
|| 我正在将Rails 2.3.5应用程序升级到Rails3。我没有实现该应用程序,只是在升级它。我发现开发人员使用查询哈希的方式很难更改它而不接触很多文件,这是我想避免的。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中的查询转换为Rails3。有人可以建议将其移植到Rails 3的最佳方法,而无需更改从A实现specific_params方法继承的类。
谢谢。
解决方法
AnObject.find(:all,:conditions => {:param_1 => @param_1}.merge(specific_params))
将在Rails 3中工作。
或者,您可以将其更改为:
AnObject.where({:param_1 => @param_1}.merge(specific_params))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。