我的事件(来自事件模型)具有日期时间形式的starts_at:
值。 e.g:
2016-02-18 11:00:00:00000
我想要做的是检查一个事件是否在本周开始。 我希望能够列出本周发生的事件(从最近的星期一开始)。
@events = @calendar.events.where( ... )
我想到了以下几点:
start_week = Date.today.beginning_of_week(:monday).day()
end_week = Date.today.beginning_of_week(:monday).day()+6
range = start_week..end_week
@events = @calendar.events.where(starts_at: in range)
但它没有考虑月份或年份。另外我不确定如何写'where'子句。我该怎么做呢?感谢
答案 0 :(得分:2)
试试这个:
start_week = Date.today.beginning_of_week(:monday)
end_week = Date.today.beginning_of_week(:monday)+6
range = start_week..end_week
@events = @calendar.events.where(starts_at: range)
答案 1 :(得分:0)
假设您想要当前周的所有事件,那么这样的事情应该有效:
@events = @calendar.events.where(starts_at: Time.zone.today.all_week)
all_week会返回涵盖当周的日期范围。