开发者

Time.zone is nill in ruby 1.9.2 -p290

When i am trying to use Time.zone.now it gives me an error which shows that Time.zone is nill because i did not mentioned config.time_zone in my environment file and when i am doing , my server is not getting started and giving me an error.

initialize_time_zone': Value assigned to config.time_zone not recognized.Run "rake -D time" for a list of tasks for finding appropriate time zone names. (RuntimeError)

I am using rails -v Rails 2.3.11 ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] rvm -v rvm 1.6.23 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]

* LOCAL GEMS *

actionmailer (2.3.11) actionpack (2.3.11) activerecord (2.3.11) activeresource (2.3.11) activesupport (2.3.11) archi开发者_StackOverflow社区ve-tar-minitar (0.5.2) bluecloth (2.1.0) builder (3.0.0) columnize (0.3.4) escape (0.0.4) fastercsv (1.5.4) hpricot (0.8.4) linecache19 (0.5.12) mime-types (1.16) mysql (2.8.1) nokogiri (1.5.0) pr_geohash (1.0.0) rack (1.1.2) rails (2.3.11) rake (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) sunspot (1.2.1) sunspot_rails (1.2.1) will_paginate (2.3.15)

Thanks Nishant


If we are not mentioning the Time.zone in the environment file , it will be UTC by default. I have mentioned config.active_record.default_time zone as :utc and this was working fine in ruby 1.8.7 but when i have changed that to ruby 1.9.2 its causing problems.


You have to set explicitly your time zone in you config file if you want to use Time.zone. There seems to be no default value.

In config/environment.rb:

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

To get a list of all available time zones with their UTC offset run

rake time:zones:all
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜