Ruby on Rails: Can you put Ruby code in a YAML config file? -


मैं अपने amazon_s3.yml config फ़ाइल में ऐसा कुछ करना चाहूंगा:

  Access_key_id: ENV ['S3_KEY'] secret_access_key: ENV ['S3_SECRET']  

... लेकिन मुझे पता है यह काम नहीं कर रहा है। सुनिश्चित नहीं हैं कि यह संभव है, लेकिन क्या आप एक YAML फ़ाइल में रूबी कोड डाल सकते हैं?

सामान्य रूप से नहीं / सीधे मैं यह कह रहा हूं क्योंकि रूबी के परिणामों का उपयोग करने के लिए आपको फ़ाइल लोड करने से पहले ईआरबी की तरह कुछ का उपयोग करने की आवश्यकता है। कोड के संदर्भ में, आपको कुछ की तरह से जाना चाहिए:

  loaded_data = YAML.load_file ("my-file.yml")  

या यहां तक ​​कि

  loaded_data = YAML.load (file.read ("my-file.yml"))  

से:

 < कोड> लोडेड_डेटा = YAML.load (ERB.new (file.read ("my-file.yml")) परिणाम)  

इस विशिष्ट मामले में, आपको देखना होगा फ़ाइल को लोड कर रहा है - कुछ मामलों में, यह पहले से ही पर्यावरण के सीधे इसे लोड करने के लिए डिज़ाइन किया जा सकता है या आपको या तो इसकी आवश्यकता हो सकती है:

  1. बंदर पैच कोड
  2. कांटा + अपने कस्टम संस्करण का प्रयोग करें।

चूंकि वहाँ कुछ प्लगइन्स हैं जो एमेज़ॉन_एस 3। आईएमएल का उपयोग करते हैं, यह पोस्ट करने में लायक हो सकता है कि आप इसका उपयोग करने वाली लाइब्रेरी का उपयोग कर सकते हैं - वैकल्पिक रूप से, मेरा मानना ​​है कि एक त्वरित Google कि एडब्लूएस लाइब्रेरी आपको एएमएज़ोन_एसीसीआईएससी_कैनी_आईडी और एएमएज़ोन_एसईसीईआरएएसीएसीएएसएस_केए को एएनवी वार्स के रूप में परिभाषित करने देती है और यह उन्हें बॉक्स से बाहर ले जाएगी।


Comments