如何查找除最新模型之外的所有模型

时间:2015-12-29 16:58:59

标签: ruby-on-rails

我的模型Foodate列,我希望找到除最新版本之外的所有foos

foo = Foo.order(:date).last
foos = Foo.where.not(id: foo.id)

我可以用foos得到它,有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

实现此结果的最简单方法是查询所有记录,然后从数组中删除最后一条记录:

foo = Foo.order(:date).all
foo.pop #Remove the last record from the returned array of records

这将有效,但是,您需要确保您的查询相应地对返回的记录进行排序/排序。

另一种简洁的方法是:

foo = Foo.order(:date).all[0..-2]