如何在模型上放置多个默认范围?

时间:2011-06-14 10:49:33

标签: sql ruby-on-rails model default-scope

我想知道你如何在模型上有多个默认范围(排序),例如我有一个评论模型需要按日期和批准进行排序:

default_scope :order => 'approved ASC', :order => 'date ASC'

那么你如何将这两种订单放在一个模型上,所以我首先按批准订购,然后按日期订购。

干杯!

2 个答案:

答案 0 :(得分:9)

在Rails 4+中你可以这样做:

default_scope -> { order(approved: :asc, date: :asc) }

答案 1 :(得分:6)

以下是使用多个字段进行排序的良好语法:

default_scope :order => 'approved ASC, date ASC'