2016-04-04 4 views
3

В моей модели встреч есть поле dateTime, называемое meeting_date. Я хотел бы использовать его в .где (...) запрос таким образом, например, как это:Сравните дату только даты и времени с текущей датой

<% @meetings = Meeting.where(meeting_date.to_date == Date.today.to_s %> 

Как это может быть достигнуто?

ответ

4

Вы можете использовать метод произнесения БД системы:

Meeting.where('CAST(meeting_date AS DATE) = ?', Date.current) 

Или в конце концов:

Meeting.where(meeting_date: Date.current.beginning_of_day..Date.current.end_of_day) 

Чтобы получить все встречи, имеющие дату встречи между текущей датой в 00:00:00 и сегодня в 23:59:59

+0

2-й кусок кода работал, спасибо огромное! Принят, когда это позволит. – Yoklan

+1

Вы также можете написать: 'Meeting.where (meeting_date: Time.current.all_day)' – Stefan

0

вы должны сделать: <% @meetings = Meeting.where (meeting_date: Date.today.to_datetime .. (Date.today + 1.day-1.minute) .to_ datetime)%>