我有一种方法可以返回一组结果,如果它是星期二,星期三或星期四。那部分工作正常,else
我无法解决问题。
我希望它返回的是与我的数据模型上的Date.today
列相比最接近date
的结果。
但目前它会返回前一周的结果,并且在我的查询中添加+ 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
答案 0 :(得分:1)
您的查询没有order
范围,因此Rails不按日期排序。在您的else
中,您似乎想要检索比今天日期更近的Foobars
4个。
所以试试@foobar.where('date > ?', Date.today).order(date: :asc).limit(4)
。