Часовой пояс и группа - PullRequest
       4

Часовой пояс и группа

0 голосов
/ 09 августа 2011

Моя проблема в том, что на сегодня опубликовано 160 записей, но я вижу только 13 записей, когда я печатаю records_count.Я думаю, это о часовом поясе.Мой часовой пояс Афины.Любая помощь будет оценена.Я потратил целый день, чтобы это исправить.

@from_date = Time.zone.now.beginning_of_day
@to_date = Time.zone.now.end_of_day

@entries_by_date = Entry.where(:published_at => @from_date..@to_date).group("date(published_at)").select("date(published_at) as date, count(*) as entries_count")

view

% (@from_date.to_date..@to_date.to_date).each do |day| %>
 <% a= @entries_by_date.detect {|entry| entry.date == day} %>
 <% if a %>
  <%= a.entries_count %>
 <% else %>
  0
 <% end %>
<% end %>

Обновление:

Time.zone.now может быть любой датой Time.zone.nowэто например.

1 Ответ

0 голосов
/ 09 августа 2011

Вы просто хотите совпадать в день / месяц / год.Попробуйте это:

<code>@entries_by_date = Entry.where(:published_at => @from_date..@to_date).
                         group("year(published_at), month(published_at), day(published_at)").
                         select(" year(published_at)  as year,
                                 month(published_at)  as month,
                                   day(published_at)  as day,
                                            count(*)  as entries_count")
затем просмотр:
<% (@from_date.to_date..@to_date.to_date).each do |date| %>
 <% a= @entries_by_date.detect {|entry| entry.day   == date.day  && 
                                        entry.month == date.month && 
                                        entry.year  == date.year} %>
 <%= a.try(:entries_count) || 0 %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...