2017-06-21 46 views
-1

如果是周二,周三或周四,我有一种方法可以返回一组结果。这部分工作正常,这是我无法解决的elseRails返回最近的结果

我希望它返回的是与我的数据模型中的date列相比最接近Date.today的结果。

但目前它返回前一周的结果并将+ 1.week+ 7.days添加到我的查询中没有做任何事情。

def method 
    if Date.today.tuesday? || Date.today.wednesday? Date.today.thursday? 
    @foobar = @foobar.where(completed: :false).limit(4) 
    else 
    @foobar = @foobar.where('date > ?', Date.today).limit(4) 
    end 
end 

回答

1

您的查询没有order作用域,所以Rails没有按日期排序。从你的else,它看起来像你想检索4最接近Foobars大于今天的日期。

所以给@foobar.where('date > ?', Date.today).order(date: :asc).limit(4)一试。

+0

一如往常,我忽略了一个明显的答案! 谢谢@chrismanderson –