比如,对于 tweets,在绝大多数情况下,我们可能希望的是按照新建日期排序 于是用
default_scope{order('created_at DESC')}
就很方便
但是,还有的时候,比如希望做个热度排行榜 那么,就希望按点击率排行
scope :order_by_hits, -> { order('hits DESC') }
但问题是没法直接使用第二个 scope,还需要加unscope
tweets = Tweet.unscoped.order_by_hits
,像这样。而且似乎还有很多潜在的问题 (http://stackoverflow.com/questions/1834159/overriding-a-rails-default-scope)
所以,请问一般情况下怎么用 scope?
是不用default_scope
,而采用两个命名的 scope 分别使用吗?还是怎样?