2010-05-31 14 views
5

मैं रेल 3 बीटा में समय क्षेत्र समर्थन के साथ संघर्ष कर रहा हूं और मैं जानना चाहता हूं कि यह एक बग है या मैं कुछ गलत कर रहा हूं। उन्होंने कहा कि समस्या है:रेल 3 टाइमज़ोन त्रुटि

 
> Time.zone = 'Madrid' # it is GMT+2 
=> "Madrid" 
> c = Comment.new 
=> #<Comment id: nil, title: "", pub_at: nil> 
> c.pub_at = Time.zone.parse('10:00:00') 
=> Mon, 31 May 2010 10:00:00 CEST +02:00 
> c.save 
> c 
=> #<Comment id: 3, title: "", pub_at: "2010-05-31 08:00:00"> 
> c.reload 
=> #<Comment id: 3, title: "", pub_at: "2010-05-31 08:00:00"> 
ruby-1.8.7-p249 > c.pub_at 
=> Mon, 31 May 2010 13:00:00 CEST +02:00 

आप देख सकते हैं, pub_at विशेषता डेटाबेस में सही ढंग से संग्रहीत लेकिन जब यह लिया गया है यह 3 घंटे कहते हैं और मुझे लगता है है कि इसकी वजह यह अपने स्थानीय मशीन समय क्षेत्र उपयोग कर रहा है है कि जीएमटी -3 में है।

रेल 2.3.5 में आदेशों का एक ही अनुक्रम पूरी तरह से काम करता है।

कोई भी कठोर? क्या मुझे टिकट की रिपोर्ट करनी चाहिए?

उत्तर

3

अगर मुझे अच्छी तरह याद है, तो सभी तारीख डेटाबेस में यूटीसी के रूप में स्टोर की जाती हैं।

और रेल और कंसोल तारीखों को उसी तरह से संभाल नहीं करता है!

तो आप अपने application.rb

config.local_zone = 'Madrid' 

में समय क्षेत्र सेट करके अपने आवेदन के भीतर यह परीक्षण करने के लिए कोशिश करनी चाहिए और फिर मूल्य प्रिंट! आपको सही समय दिखाई देगा।

आशा है कि यह सहायता

संबंधित मुद्दे