是否将默认范围添加到Rails 3.1中的其他范围?

时间:2011-11-28 07:52:15

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

由于默认情况,是否不需要以下两个范围中的order个查询?

scope :paid, where('is_paid_merchant = true').order('weekly_clicks DESC')
scope :unpaid, where('is_paid_merchant = false').order('weekly_clicks DESC')
default_scope order('weekly_clicks DESC')

如果确实将默认范围添加到所有其他范围,那么该订单的优先级是什么?它是第一个应用还是最后一个?

1 个答案:

答案 0 :(得分:2)

默认范围是第一个应用的范围。您可以使用其他范围覆盖它,或使用unscoped以完全避免它。就个人而言,我发现默认范围非常糟糕,因为它们使代码更难理解。