ruby on rails - मैं सक्रिय समर्थन कोर एक्सटेंशन का उपयोग कैसे करूं?




ruby-on-rails time (3)

आप ऐसा कर सकते हैं :
'active_support / core_ext' की आवश्यकता है
या:
'active_support / all' की आवश्यकता है

मेरे पास सक्रिय समर्थन 3.0.3 स्थापित है और रूबी 1.8.7 के साथ रेल 3.0.3 है।

जब मैं 1.week.ago का उपयोग करने की कोशिश करता 1.week.ago मुझे मिलता है

NoMethodError: undefined method 'week' for 1:Fixnum
from (irb):2

अन्य कोर एक्सटेंशन काम करने लगते हैं। मैंने इसे एक ही परिणाम के साथ एक दोस्त के कंप्यूटर (उसी इंस्टॉल चश्मे और विरासत संस्करणों पर) पर कोशिश की।

क्या देता है?

यह सब आईआरबी में है।


आप पहले से उल्लिखित पुस्तकालयों को बारीक से जोड़ सकते हैं

require 'active_support/core_ext/some_class/some_file'

एक और स्तर भी है जहां आप कर सकते हैं

require 'active_support/core_ext/some_class'

लेकिन, फिलहाल, यह दुर्भाग्यवश Time , Date और DateTime Time लिए उपलब्ध नहीं है।

इसके आस-पास एक तरीका require 'active_support/time' जो आपको Time , Date और DateTime जो ओपी को हल करेगा, सबकुछ की आवश्यकता के बिना पूछ रहा था।

मेरा रेल पैच , जो active_support/core_ext/date और date_time जोड़ता है, इसे रेल v4.0.0 में बना देता है, इसलिए अब आप इन्हें अलग-अलग आवश्यकता कर सकते हैं। वाह!


चूंकि रेल का उपयोग करने से स्वचालित रूप से इसे संभालना चाहिए, मुझे लगता है कि आप एक गैर-रेल स्क्रिप्ट में सक्रिय समर्थन जोड़ने की कोशिश कर रहे हैं।

" कोर एक्सटेंशन कैसे लोड करें " पढ़ें।

सक्रिय समर्थन के तरीकों को रेल 3 में छोटे समूहों में तोड़ दिया गया है, इसलिए हम बहुत सी require 'activesupport' चीजों को एक सरल require 'activesupport' साथ लोड नहीं करते हैं। अब हमें चीजों को करना होगा जैसे require 'active_support/core_ext/object/blank'

यदि आपको ग्रैन्युलरिटी की परवाह नहीं है, तो आप बड़े हिस्से को लोड करना चुन सकते हैं। यदि आप सब कुछ एक बड़े गल्प उपयोग में चाहते हैं ...

1.9.2 के लिए:

rvm 1.9.2
irb -f
irb(main):001:0> require 'active_support/all'
=> true
irb(main):002:0> 1.week.ago
=> 2010-11-14 17:56:16 -0700
irb(main):003:0> 

1.8.7 के लिए:

rvm 1.8.7
irb -f
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'active_support/all'
=> true
irb(main):003:0> 1.week.ago
=> Sun Nov 14 17:54:19 -0700 2010
irb(main):004:0> 




activesupport