Rails не конвертирует часовой пояс (PostgreSQL)

У меня проблема с часовыми поясами и базой данных postgresql (Rails 3.0.4, PostgreSQL 9.0). Я использую настраиваемую область видимости, в которую добавляю некоторые условия, выполняю соединения и т. Д. Pp.

Проблема в том, что Rails не Вот код области:

  scope :with_activities_within_range_in_week, lambda{ |latMin, lngMin, latMax, lngMax, date|
    select("date_trunc('day', activities.starting_at) as date,
      count(activities.id) as value
    ") \
    .within(latMin, lngMin, latMax, lngMax) \
    .joins(:activities) \
    .merge(Activity.in_week(date)) \
    .group("date") \
    .order("date")
  }

Метод inside проверяет диапазоны, область действия Activity.in_week возвращает это:

where("activities.starting_at >= ? AND activities.starting_at < ?", start, stop)

И в операторе select я хочу усечь поле start_at до дня.

I ' m получает следующий вывод для поля даты:

2011-04-07 18:48:32
2011-04-02 14:07:20
2011-04-02 14:06:49

К сожалению, он не включает часовой пояс. Когда я пытаюсь получить доступ к своей модели с помощью "обычных" функций Rails, она работает:

puts Activity.first.starting_at
-> 2011-04-15 06:47:55 +0200

Что я делаю не так? Надеюсь, кто-то может помочь!

thx, tux

6
задан mu is too short 21 April 2011 в 08:15
поделиться