странный дубликат на группу - PullRequest
0 голосов
/ 19 июля 2011

Что может быть не так? Любая помощь приветствуется.

@entries = Entry.where(:created_at => 3.day.ago.beginning_of_day..Time.now.end_of_day).group("date(created_at)").select("created_at, count(id) as tcount")

<% @entries.each_with_index do |entry, index| %>
<%= entry.created_at.strftime("%d/%m") %>
<% end %>

Выход:

16/07
16/07
18/07
19/07

1 Ответ

0 голосов
/ 19 июля 2011

Когда вы выбираете записи, они группируются по функции date () базы данных, которая использует то, что на самом деле хранится в базе данных, но вы выбираете полное значение create_at, включая время.Он выбирает первый в качестве значения.Конверсии часовых поясов вступают в игру, когда вы на самом деле отображаете их.Бьюсь об заклад, один из этих 16 должен быть 15.

Попробуйте:

@entries = Entry.where(:created_at => 3.day.ago.beginning_of_day..Time.now.end_of_day).group("date(created_at)").select("date(created_at) as date, count(id) as tcount")

<% @entries.each_with_index do |entry, index| %>
<%= entry.date.strftime("%d/%m") %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...