我的模型Foo
有date
列,我希望找到除最新版本之外的所有foos
。
foo = Foo.order(:date).last
foos = Foo.where.not(id: foo.id)
我可以用foos
得到它,有没有更好的方法呢?
答案 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]