我为两种方法创建了以下语法,但无法将它们组合在一起。此外,我希望有一个更短的方式来写这个,因为它不是真正的精益:
@e = @c_entries.find_all{|i| i.order_no.between?(1,5)}
给我一个所有对象的数组,order_no介于1和5之间!!
@f = @c_entries.all(:select => :order_no).collect(&:order_no).min
创建一个所有order_no的数组,并给我最小值!
我现在要做的是在order_no介于1和5之间的所有对象中获得最小order_no。
有什么想法吗?
答案 0 :(得分:2)
如果@c_entries
包含应用程序中特定模型的集合,则可以利用ActiveRecord的查询界面:
@c_entries.where(order_no: 1..5).select(:order_no).min
还有其他各种缩小查询范围的方法:http://guides.rubyonrails.org/active_record_querying.html#conditions