Time.zone ноль в рубине 1.9.2 -p290 - PullRequest
1 голос
/ 19 июля 2011

Когда я пытаюсь использовать Time.zone.now, он выдает ошибку, которая показывает, что Time.zone пуст, потому что я не упомянул config.time_zone в моем файле среды, и когда я это делаю, мой сервер не получает начал и дал мне ошибку.

initialize_time_zone ': значение, присвоенное config.time_zone, не распознано. Выполните "rake -D time", чтобы получить список задач для поиска подходящих имен часовых поясов. (RuntimeError)

Я использую рельсы -v рельсы 2.3.11 ruby -v ruby ​​1.9.2p290 (редакция 2011-07-09, 32553) [i686-linux] rvm -v rvm 1.6.23 Уэйна Э. Сегина (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]

* МЕСТНЫЕ ДРАГОЦЕННЫЕ КАМНИ *

actionmailer (2.3.11) пакет действий (2.3.11) activerecord (2.3.11) активный ресурс (2.3.11) Активная поддержка (2.3.11) архив-тар-минитар (0.5.2) синяя ткань (2.1.0) строитель (3.0.0) колонизировать (0.3.4) побег (0.0.4) fastcsv (1.5.4) hpricot (0.8.4) linecache19 (0.5.12) пантомимы (1.16) MySQL (2.8.1) нокогири (1.5.0) pr_geohash (1.0.0) стойка (1.1.2) рельсы (2.3.11) грабли (0.8.7) RedCloth (4.2.7) rsolr (0.12.1) ruby-debug-base19 (0.11.25) ruby-debug19 (0.11.6) ruby_core_source (0.1.5) солнечное пятно (1.2.1) sunspot_rails (1.2.1) will_paginate (2.3.15)

Спасибо Nishant


Если мы не упоминаем Time.zone в файле среды, по умолчанию это будет UTC. Я упомянул зону config.active_record.default_time как: utc, и это нормально работало в ruby ​​1.8.7, но когда я изменил это на ruby ​​1.9.2, это вызывает проблемы.

1 Ответ

1 голос
/ 19 июля 2011

Вы должны явно указать свой часовой пояс в файле конфигурации, если хотите использовать Time.zone.Кажется, что по умолчанию нет значения.

In config/environment.rb:

Rails::Initializer.run do |config|
    config.time_zone = 'UTC'
end

Чтобы получить список всех доступных часовых поясов с их смещением UTC, выполните

rake time:zones:all
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...