我无法在任何地方找到此文档,但这是我的问题:当我通过活动记录查询并使用“only”时,将忽略“order”子句。例如,我有一个Blog模型:
Blog.order('id desc')
首先返回ID最高的所有博客 - 正如预期的那样:
Blog.order('id desc').only(:id)
只返回id(如预期的那样)但是order子句完全被忽略,最小的id首先出现。
我已经使用Ruby 1.9.3p327和Rails 4.0.0.beta1和Rails 3.2.13对此进行了测试,我得到了相同的结果。
这是一个功能还是一个错误?对我来说这是一个错误,因为Rails工作人员大肆宣传如何不需要find_by_sql,但在这种情况下它是:
Blog.find_by_sql("select id from blogs order by id desc")
给出正确的答案。
答案 0 :(得分:1)