बचाने पर उलट कर रहे हैं (मेरे समस्या काफी described in this question रूप में ही है, केवल कि इसका जवाब मेरे मामले में काम नहीं करता।)Rails3/jQuery के यूआई datepicker - माह और दिन
मैं उपयोग कर रहा हूँ एक पोस्टग्रेस डीबी के साथ एक रेल ऐप में jQuery UI Datepicker। डिफ़ॉल्ट कार्यान्वयन मिमी/डीडी/वाई दिनांक प्रारूप का चयन दिनांक को प्रदर्शित करने के लिए करता है, जो वास्तव में मैं चाहता हूं। हालांकि, डेटाबेस को रिकॉर्ड सहेजने के बाद, महीने और दिन उलट दिया जाता है - फिर यह yy-dd-mm के रूप में प्रदर्शित होता है। इसलिए 3/11/2012 का चयन 11 मार्च के बजाय 3 नवंबर के रूप में सहेजने की कोशिश करता है, और 3/31/2012 जैसी तारीख को सहेजा नहीं जाता है, क्योंकि यह अस्तित्व में नहीं है।
मैं नीचे 3 अलग रास्ते चले गए हैं अब तक इसे ठीक करने की कोशिश कर रहा:
1) सबसे पहले प्रयास पाठ क्षेत्र पुन: प्रारूपित करना था, इसलिए प्रदर्शन देखा मैं कैसे चाहता था:
<%= f.text_field :foo, :value => (@model.foo.blank? ? '' : @model.foo.strftime('%m/%d/%Y')), class: "datepicker" %>
यह दिखाया गया है 03/31/2012 शुरुआत में सही ढंग से, लेकिन सहेजते समय भी उलट दिया।
2) तो अगली बार मैंने डिफ़ॉल्ट तरीके को बदलने की कोशिश की कि तारीखें संग्रहीत हैं, सोच रही है कि समस्या के आसपास हो जाएगा।
# config/locales/en.yml
en:
date:
formats:
default: "%m/%d/%Y"
यह सब पर कोई फर्क नहीं किया: this question के जवाब में बताया गया है, मैं config/स्थानों/en.yml के लिए निम्न गयी। अगला मैं this question पाया और config/initializers/इन पंक्तियों के साथ date_formats.rb बनाने की कोशिश की: ऊपर के रूप में
Date::DATE_FORMATS[:default]="%m/%d/%Y"
Time::DATE_FORMATS[:default]="%m/%d/%Y %H:%M"
ही, कोई फर्क नहीं।
3) कई संयोजनों के साथ खेलने के बाद, एक बात मैंने पाया कि डीआईडी काम डेटपीकर प्लगइन पर मेरे कॉल में वाई-एमएम-डीडी प्रारूप निर्दिष्ट कर रहा था - यह मेरे इच्छित चीज के विपरीत है, लेकिन कम से कम तारीखों को सफलतापूर्वक सहेजा जा सकता है। तो datepicker कॉल इस तरह दिखता है:
कैलेंडर से$(".datepicker").datepicker({ dateFormat: 'yy-mm-dd' });
का चयन 31 वें मार्च 2012-03-31 के साथ क्षेत्र भरता है, और अभी भी बचाने के बाद 2012-03-31 के रूप में प्रदर्शित करता है।
लेकिन मैं पृथ्वी पर एमएम/डीडी/वाई प्रारूप के साथ काम करने के लिए डेटपिकर कैसे प्राप्त कर सकता हूं? मैं कल्पना नहीं कर सकता कि यह करना मुश्किल है, लेकिन मुझे क्या याद आ रही है? क्या मुझे पोस्टग्रेस में तारीखों को संग्रहीत करने के तरीके के साथ कुछ करना है? (उन्हें दिनांक के रूप में निर्दिष्ट किया गया है, समय-समय पर नहीं।)
इस पर दीवार के खिलाफ मेरे सिर को कोसने रोकने के लिए, मैंने बस 'फ़ील्ड' के बजाय अपने फ़ील्ड को 'टेक्स्ट' पर स्विच कर दिया है। यह आदर्श नहीं है, लेकिन यह बल्कि समस्या को हल करता है। – ellawren
कुछ बार स्विचिंग एक अच्छा समाधान है आदर्श या नहीं। लेकिन जिज्ञासा के लिए भी आप समस्या जानना चाहेंगे, बाद में हो सकता है। –
रेल 3.2.3, पोस्टग्रेस्क्ल और रूबी 1.9.3। मेरे पास डेट-फ़िकर प्रारूप mm-dd-yy पर सेट था और यह थोड़ी देर के लिए काम कर रहा था, लेकिन मैं एक रिफैक्टरिंग के माध्यम से जा रहा हूं और मैं परेशानी के बिना कुछ तिथियां सहेज सकता हूं लेकिन विशेष रूप से एक तिथि अब सहेजी नहीं जा सकती है। तो मैं yy-mm-dd पर फिर से सुधार करने जा रहा हूं और मैं देखता हूं कि क्या होता है। – thomasvermaak