2010-09-07 8 views
24

मैं खुद को परिभाषित कई बार टाइपिंग दोहरा रहा हूं।रेल 3 में समय प्रारूप नियम कहां रखना है?

रायन बेट्स के रेलवे एपी 32/33 (मुझे लगता है) देखने के बाद, मैंने टाइम.now.to_s में to_s विधि के लिए एक कस्टम विकल्प बनाया है, ताकि मैं Time.now.to_s (: sw) कर सकूं, कहां: उदाहरण के लिए "23 सितंबर 2010, 5:00 अपराह्न" को पुनः प्राप्त करने के लिए, मेरी कस्टम विधि है।

लेकिन समस्या यह है कि, मुझे नहीं पता कि # sw की परिभाषा कहां रखना है। क्या यह प्रारंभकर्ता फ़ोल्डर में फ़ाइल में होना चाहिए? या यह application.rb में जाना चाहिए?

धन्यवाद!

+0

BTW http://strftime.net/ एक बहुत – Dorian

उत्तर

22

मैं एक फ़ाइल config/initialisers/time_formats.rb युक्त है:

... 
Time::DATE_FORMATS[:posts] = "%B %d, %Y" 
Time::DATE_FORMATS[:published] = "%B %Y" 
... 

तुम बस परिवर्तन उठाया है करने के लिए अपने सर्वर को पुनः आरंभ करने की जरूरत है।

+0

ठीक है, मुझे ऐसा लगा मदद करता है, too.Also कि जिस तरह से क्योंकि, बजाय यदि आप application.rb धन्यवाद लाइनों में से फाइलों में इन 'सहायकों' व्यवस्थित करने के लिए मिलता है! –

5

रेल I18n API का उपयोग करें। के बाद से रेल timestamps datetimes हैं

# config/locales/en.yml 
en: 
    date: 
    formats: 
     default: "%Y-%m-%d" 
     short: "%b %d" 
     long: "%B %d, %Y" 

# in views 
= l post.updated_at # will use default format of date in locales yml file 

, के बारे में I18n API

45

उपयोग "समय" "तिथि" अपने स्थानों में के बजाय फाइल देखते हैं।

config/स्थानों/en.yml

en: 
    time: 
    formats: 
     default: "%Y/%m/%d" 
     short: "%b %d" 
     long: "%B %d, %Y" 
एप्लिकेशन/विचारों/पदों/show.html.haml में

में

= l post.updated_at 
    = l post.created_at, :format => :long 
+5

इसके अलावा, समय निर्माण प्रारूपों की सहायता के लिए http://strftimer.com/ देखें। – tee

0

कृपया इस पोस्ट पढ़ें:

Rails - to_formatted_s

नाम के साथ फ़ाइल बनाएँ: config/initializers/time_formats.rb

Time::DATE_FORMATS[:my_custom_time_format] = "%Y-%m-%d %H:%M" 

और आप उपयोग कर सकते हैं:

formated_date = my_date.to_formatted_s(:my_custom_time_format) 

ध्यान दें: आप अपने रेल सर्वर (WEBRick, FCGI, आदि) को पुनः आरंभ करने चाहिए

+0

आह, मैं यह पता लगाने की कोशिश कर रहा था कि मेरे प्रारूप क्यों नहीं बदल रहे थे, मैं अपने बालों को खींच रहा था। सर्वर के लिए धन्यवाद टिप पुनरारंभ करें! – AndrewJM

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