मैं उदाहरणों में दोनों को देखता हूं कि यह जांचते समय कि क्या env कोई चल रहा है। क्या पसंद है? क्या वे सभी उद्देश्यों और उद्देश्यों के बराबर हैं?Rails.env बनाम RAILS_ENV
उत्तर
According to the docs, #Rails.env
RAILS_ENV
लपेटता:
# File vendor/rails/railties/lib/initializer.rb, line 55
def env
@_env ||= ActiveSupport::StringInquirer.new(RAILS_ENV)
end
लेकिन, देखने में विशेष रूप से यह कैसे लिपटे है, ActiveSupport::StringInquirer
का उपयोग कर:
इस वर्ग में एक स्ट्रिंग रैपिंग के लिए आप एक खूबसूरत रास्ता देती है समानता के लिए परीक्षण।
Rails.env == "production"
आप इस कॉल कर सकते हैं:
Rails.env.production?
तो वे बिल्कुल नहीं हैं Rails.env द्वारा दिए गए मान इस बुला की तो बजाय एक StringInquirer वस्तु में लपेटा जाता है समकक्ष, लेकिन वे काफी करीब हैं। मैंने अभी तक रेल का उपयोग नहीं किया है, लेकिन मैं कहूंगा कि #Rails.env
StringInquirer
का उपयोग करने के कारण निश्चित रूप से अधिक दृश्यमान विकल्प है।
रेल 2.x से पहले वर्तमान वातावरण प्राप्त करने का पसंदीदा तरीका RAILS_ENV
निरंतर उपयोग कर रहा था। इसी प्रकार, रूट फ़ोल्डर के पथ को पाने के लिए वर्तमान लॉगर या RAILS_ROOT
प्राप्त करने के लिए आप RAILS_DEFAULT_LOGGER
का उपयोग कर सकते हैं।
- Rails.root
- Rails.env
- Rails.logger
यह प्रतिसाद नहीं:
रेल 2.x से शुरू करते हुए रेल कुछ विशेष तरीकों के साथ Rails
मॉड्यूल शुरू सिर्फ एक कॉस्मेटिक बदलाव नहीं है। रेल मॉड्यूल क्षमता प्रदान करता है मानक मानक स्थिरांक जैसे StringInquirer
समर्थन का उपयोग कर उपलब्ध नहीं है। कुछ मामूली मतभेद भी हैं। Rails.root
एक साधारण String
buth Path
उदाहरण वापस नहीं करता है।
वैसे भी, पसंदीदा तरीका Rails
मॉड्यूल का उपयोग कर रहा है। कॉन्स्टेंट को रेल 3 में बहिष्कृत किया गया है और भविष्य में रिलीज में हटा दिया जाएगा, शायद रेल 3.1।
एफवाईआई, जिस पर चर्चा की गई थी [यहां] (http://stackoverflow.com/questions/4411708/rails-env-undefined-in-rails-2), ऐसा लगता है कि उन तरीकों को रेल 2.3 में 2.0 में पेश किया गया था, 2.0 नहीं। – jrdioko
हम एक परियोजना पर 2.1.2 का उपयोग कर रहे हैं। 'Rails.env' किसी समस्या के बिना काम करता है। –
अजीब व्यवहार जबकि मेरी एप्लिकेशन डिबगिंग: p ENV [ 'RAILS_ENV'] "परीक्षण" (RDB: 1) पी Rails.env "विकास"
: "active_support/सूचनाएं" (1 RDB) की आवश्यकता होती हैमैं कहूंगा कि आप एक या एक और (और अधिमानतः Rails.env) से चिपके चाहिए
अद्यतन: रेल 3.0.9 में: env विधि railties/lib/रेल में परिभाषित किया।आरबी
ENV['RAILS_ENV']
अब बहिष्कृत है।
आपको Rails.env
का उपयोग करना चाहिए जो स्पष्ट रूप से बहुत अच्छा है।
- 1. मैं एक रेक कार्य में RAILS_ENV को कैसे मजबूर करूं?
- 2. मैं विंडोज कंसोल में RAILS_ENV कैसे सेट कर सकता हूं?
- 3. मैं सभी आगामी रेक आदेशों के लिए RAILS_ENV को उत्पादन में कैसे सेट कर सकता हूं?
- 4. हरोकू स्वचालित रूप से RAILS_ENV और RACK_ENV चर को प्रत्येक तैनाती पर "उत्पादन" में बदलता है
- 5. बनाम बनाम
- 6. : बनाम बनाम ::
- 7. स्पाइडरमोन्की बनाम जावास्क्रिप्ट बनाम बनाम?
- 8. Mercurial: भ्रष्टाचार बनाम रिकॉर्ड बनाम qrecord बनाम शेल्व बनाम प्रत्यारोपण बनाम dirstate बनाम कतार
- 9. LINQ बनाम लैम्ब्डा बनाम अज्ञात तरीके बनाम बनाम
- 10. एनएचबीर्नेट एचक्यूएल बनाम मानदंड बनाम क्वेरीरी बनाम लिंक बनाम। प्रदर्शन
- 11. डीकोड और व्याख्या को बनाम बनाम बनाम बनाम
- 12. इनलाइन बनाम __inline बनाम __inline__ बनाम __forceinline बनाम?
- 13. एपीआई बनाम टूलकिट बनाम फ्रेमवर्क बनाम लाइब्रेरी
- 14. pymssql बनाम pyodbc बनाम adodbapi बनाम ...
- 15. एटमिकोस बनाम जेओटीएम बनाम बिट्रोनिक्स बनाम?
- 16. न्यूट बनाम एमबीयूनीट बनाम एमएसटीएस्ट बनाम xUnit.net
- 17. विधि बनाम फंक्शन बनाम प्रक्रिया बनाम कक्षा?
- 18. .NET बनाम एएसपी.नेट बनाम सीएलआर बनाम एएसपी
- 19. 'विधि' बनाम 'संदेश' बनाम 'फ़ंक्शन' बनाम '???'
- 20. अक्ष 2 बनाम वसंत-बनाम बनाम जर्सी
- 21. एसीई बनाम बूस्ट बनाम पोको बनाम WxWidgets
- 22. control.BeginInvoke() बनाम डिस्पैचर बनाम SynchronizationContext बनाम .. - विश्वसनीयता
- 23. ड्रॉप ... बनाम बनाम
- 24. रेल बनाम बनाम
- 25. _Expand बनाम बनाम जीएनयू
- 26. एफ़टीपी कमांड्स बनाम बनाम
- 27. गिट में बनाम बनाम
- 28. फ़ाइल बनाम ब्लॉक बनाम
- 29. क्रिस्टलस्पेस बनाम इरलिच बनाम .....?
- 30. एएसएसईआर बनाम एटलसैट बनाम
अच्छा स्पष्टीकरण, thx! मैं यह भी खोजने की कोशिश कर रहा हूं कि RAILS_ENV को परिभाषित किया गया है? कोई उपाय?? – brad
Rails.env का उपयोग करना पसंद है। – Ben
यह उल्लेखनीय है कि 'Rails.env' नया मानक है क्योंकि 'RAILS_ENV' को बहिष्कृत किया जा रहा है। –