2011-07-19 116 views
1

當我試圖使用Time.zone.now它給了我一個錯誤,這表明Time.zone是n,因爲我沒有在我的環境中提到config.time_zone文件,當我在做,我的服務器沒有開始並給我一個錯誤。Time.zone是紅寶石1.9.2 -p290

initialize_time_zone':分配給config.time_zone的值未被識別。運行「rake -D time」查找適當時區名稱的任務列表。 (RuntimeError)

我使用 導軌-v的Rails 2.3.11 紅寶石-v紅寶石1.9.2p290(2011-07-09的修訂32553)[i686的Linux的] RVM -v RVM 23年6月1日由韋恩E.塞甘([email protected])[https://rvm.beginrescueend.com/]

* LOCAL GEMS *

的ActionMailer(2.3.11) ActionPack的(2.3.11) activerecord(2.3.11) activeresource(2.3.11) activesuppor噸(2.3.11) 歸檔焦油minitar(0.5.2) bluecloth(2.1.0) 助洗劑(3.0.0) columnize(0.3.4) 逃逸(0.0.4) fastercsv(1.5。 4) 角度來說,Hpricot(0.8.4) linecache19(0.5.12) MIME類型(1.16) MySQL的(2.8.1) 引入nokogiri(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) 紅寶石調試base19(0.11.25) 紅寶石debug19(0.11.6) ruby_cor e_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導致問題時。

+0

你定義時區什麼樣的價值與他們的UTC所有可用時區的列表?按照軌道建議並使用「rake -D time」輸出中的一個。 – arnep

+0

我做到了,我試圖在環境文件中添加一個時區,它給了我initialize_time_zone':分配給config.time_zone的值未被識別。運行「rake -D time」查找適當時區名稱的任務列表。 (RuntimeError)錯誤,所以我刪除它,但如果你沒有提到配置。time_zone在你的環境文件中將需要UTC作爲默認值 – Nishant

回答

1

如果你想使用Time.zone,你必須在你的配置文件中明確地設置你的時區。似乎沒有默認值。

config/environment.rb

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

爲了得到彌補運行

rake time:zones:all 
+0

我做到了,我試圖在環境文件中添加一個時區,它給了我initialize_time_zone':分配給config.time_zone的值未被識別。運行「rake -D time」查找適當時區名稱的任務。 (RuntimeError)錯誤,所以我刪除它,但如果你沒有提到你的環境文件中的config.time_zone,它將需要UTC作爲默認 – Nishant

+0

你寫了與上面相同的評論......有意?你在'config.time_zone'的'config/environment.rb'文件中放了什麼值?如果你想使用'Time.zone',你不能讓它空着! – arnep

+0

從ruby 1.8.7開始,ruby 1.9.2與時間相關的變化是什麼? – Nishant