如何在featured_end_date >= Time.now()
订单中按:asc
订购我的索引结果,然后按publish_at: :desc
排序其余结果。
目前我有BlogPost.order(featured_end_date: :asc, publish_at: :desc)
。我错过了>= Time.now()
比较。
我假设可能需要使用范围,但我不知道如何实现这一目标。
答案 0 :(得分:1)
您需要在订购前指定您的收藏。您必须使用where
。
BlogPost.where('featured_end_date >= ?', Time.now).order(featured_end_date: :asc, publish_at: :desc)
答案 1 :(得分:1)
BlogPost模型
scope :featuredfuture, -> { where("featured_end_date >= ?", Time.now()).order(featured_end_date: :asc) }
scope :other, -> { where("featured_end_date < ? or featured_end_date is null", Time.now()).order(publish_at: :desc) }
控制器
@blogposts = BlogPost.featuredfuture + BlogPost.other