Для этого есть тонкая настройка - Date.yesterday
использует Date.current
, которая будет использовать часовой пояс, тогда как Date.today
- нет. Если вы установите часовой пояс на тот, где уже завтра (например, Европа / Берлин, как я набираю это), тогда вы можете получить Date.today == Date.yesterday:
>> Time.zone = "Europe/London"
=> "Europe/London"
>> Date.today == Date.yesterday
=> false
>> Time.zone = "Europe/Berlin"
=> "Europe/Berlin"
>> Date.today == Date.yesterday
=> true
Использование Date.current == Date.yesterday работает, как ожидалось. Этот пример показан в irb, поэтому, пожалуйста, попробуйте найти способ поместить его в ваше приложение rails соответствующим образом. Примечание: Я не показываю, что вам нужно, потому что вы делали некоторое кодирование, прежде чем инициализировать часовой пояс и т. Д., Но просто добавили несколько достойных битов. Надеюсь, это поможет