जब मैं Time.zone.now का उपयोग करने का प्रयास कर रहा हूं तो यह मुझे एक त्रुटि देता है जो दिखाता है कि Time.zone शून्य है क्योंकि मैंने अपनी पर्यावरण फ़ाइल में config.time_zone का उल्लेख नहीं किया है और जब मैं कर रहा हूं, मेरा सर्वर प्रारंभ नहीं हो रहा है और दे रहा है मुझे एक त्रुटि।

initialize_time_zone': config.time_zone को असाइन किया गया मान पहचाना नहीं गया। उपयुक्त समय क्षेत्र नाम खोजने के लिए कार्यों की सूची के लिए "रेक-डी टाइम" चलाएँ। (रनटाइम त्रुटि)

मैं रेल-वी रेल 2.3.11 रूबी-वी रूबी 1.9.2p290 (2011-07-09 संशोधन 32553) [i686-लिनक्स] आरवीएम-वी आरवीएम 1.6.23 वेन ई सेगुइन (wayneeseguin@gmail.com) द्वारा उपयोग कर रहा हूँ [https://rvm.beginrescueend.com/]

* स्थानीय रत्न *

एक्शनमेलर (2.3.11) एक्शनपैक (2.3.11) सक्रिय रिकॉर्ड (2.3.11) सक्रिय संसाधन (2.3.11) सक्रिय समर्थन (2.3.11) आर्काइव-टार-मिनिटर (0.5.2) ब्लूक्लोथ (2.1.0) बिल्डर (3.0. 0) कॉलमाइज़ करें (0.3.4) एस्केप (0.0.4) तेजसीएसवी (1.5.4) एचप्रिकॉट (0.8.4) लाइनकैश19 (0.5.12) माइम-टाइप्स (1.16) माइस्क्ल (2.8.1) नोकोगिरी (1.5.0) pr_geohash (1.0.0) रैक (1.1.2) रेल (2.3.11) रेक (0.8.7) रेडक्लॉथ (4.2.7) rsolr (0.12.1) रूबी-डीबग-बेस19 (0.11.25) रूबी-डीबग19 ( 0.11.6) ruby_core_source (0.1.5) सनस्पॉट (1.2.1) सनस्पॉट_रेल (1.2.1) will_paginate (2.3.15)

धन्यवाद निशांत


यदि हम पर्यावरण फ़ाइल में Time.zone का उल्लेख नहीं कर रहे हैं, तो यह डिफ़ॉल्ट रूप से UTC होगा। मैंने config.active_record.default_time क्षेत्र का उल्लेख किया है: utc और यह रूबी 1.8.7 में ठीक काम कर रहा था, लेकिन जब मैंने इसे 1.9.2 रूबी में बदल दिया है तो इससे समस्याएं पैदा हो रही हैं।

1
Nishant 19 जुलाई 2011, 16:32
आपने अपने समय क्षेत्र के लिए किस मूल्य को परिभाषित किया? रेल की सिफारिश के अनुसार करें और rake -D time के आउटपुट में से किसी एक का उपयोग करें।
 – 
arnep
19 जुलाई 2011, 16:42
मैंने यह किया कि मैंने पर्यावरण फ़ाइल में एक समय क्षेत्र जोड़ने की कोशिश की, यह मुझे इनिशियलाइज़_टाइम_ज़ोन देता है: config.time_zone को दिया गया मान पहचाना नहीं गया। उपयुक्त समय क्षेत्र के नाम खोजने के लिए कार्यों की सूची के लिए "रेक-डी टाइम" चलाएँ। (रनटाइम त्रुटि) त्रुटि इसलिए मैंने इसे हटा दिया, लेकिन यदि आप अपनी पर्यावरण फ़ाइल में config.time_zone का उल्लेख नहीं करते हैं तो यह यूटीसी को डिफ़ॉल्ट रूप से ले जाएगा
 – 
Nishant
19 जुलाई 2011, 17:14

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप Time.zone का उपयोग करना चाहते हैं, तो आपको अपनी कॉन्फ़िग फ़ाइल में अपना समय क्षेत्र स्पष्ट रूप से सेट करना होगा। ऐसा लगता है कि कोई डिफ़ॉल्ट मान नहीं है।

config/environment.rb में:

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

उनके UTC ऑफ़सेट रन के साथ सभी उपलब्ध समय क्षेत्रों की सूची प्राप्त करने के लिए

rake time:zones:all
1
arnep 19 जुलाई 2011, 18:40
मैंने यह किया कि मैंने पर्यावरण फ़ाइल में एक समय क्षेत्र जोड़ने की कोशिश की, यह मुझे इनिशियलाइज़_टाइम_ज़ोन देता है: config.time_zone को दिया गया मान पहचाना नहीं गया। उपयुक्त समय क्षेत्र के नाम खोजने के लिए कार्यों की सूची के लिए "रेक-डी टाइम" चलाएँ। (रनटाइम त्रुटि) त्रुटि इसलिए मैंने इसे हटा दिया, लेकिन यदि आप अपनी पर्यावरण फ़ाइल में config.time_zone का उल्लेख नहीं करते हैं तो यह यूटीसी को डिफ़ॉल्ट रूप से ले जाएगा
 – 
Nishant
20 जुलाई 2011, 11:03
आपने ऊपर जैसा ही कमेंट लिखा है... जानबूझ कर? आपने अपनी config/environment.rb फ़ाइल में config.time_zone के लिए क्या मूल्य रखा? यदि आप Time.zone का उपयोग करना चाहते हैं तो आप इसे खाली नहीं छोड़ सकते हैं!
 – 
arnep
21 जुलाई 2011, 17:50
रूबी 1.8.7 से रूबी 1.9.2 में समय से संबंधित परिवर्तन क्या हैं?
 – 
Nishant
27 जुलाई 2011, 14:39
मैं समय के सामान में किसी भी बदलाव के बारे में नहीं जानता। बीटीडब्ल्यू: आपने ऊपर मेरी टिप्पणी का जवाब नहीं दिया ...
 – 
arnep
28 जुलाई 2011, 12:17
यदि आप अपनी पर्यावरण फ़ाइल में config.time_zone का उल्लेख नहीं करते हैं तो यह यूटीसी को डिफ़ॉल्ट रूप से सही मानेगा? अपग्रेड करने से पहले यह काम कर रहा था लेकिन एक बार रूबी 1.9,2 पर स्विच करने के बाद यह त्रुटियां पैदा कर रहा है।
 – 
Nishant
1 अगस्त 2011, 11:48