मैं चाहते हैं पता करने के लिए निम्नलिखित सामग्री के साथ एक YAML फ़ाइल पार्स करने के लिए कैसे:मैं वाईएएमएल फ़ाइल कैसे पार्स करूं?
---
javascripts:
- fo_global:
- lazyload-min
- holla-min
वर्तमान में मैं इसे इस तरह पार्स करने के लिए कोशिश कर रहा हूँ:
@custom_asset_packages_yml = (File.exists?("#{RAILS_ROOT}/config/asset_packages.yml") ? YAML.load_file("#{RAILS_ROOT}/config/asset_packages.yml") : nil)
if [email protected]_asset_packages_yml.nil?
@custom_asset_packages_yml['javascripts'].each{ |js|
js['fo_global'].each{ |script|
script
}
}
end
लेकिन यह काम करने के लिए प्रतीत नहीं होता और मुझे एक त्रुटि देता है कि मूल्य शून्य है।
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
यदि मैं यह कोशिश है, यह पूरी स्ट्रिंग (fo_globallazyload-minholla-मिनट) डालता है:
if [email protected]_asset_packages_yml.nil?
@custom_asset_packages_yml['javascripts'].each{ |js|
js['fo_global']
}
end
आप जब आप इसे चलाते स्क्रिप्ट का आउटपुट दे सकते हैं? सही जगह पर फाइलें? आप हमेशा रेल कंसोल को फायर कर सकते हैं और देख सकते हैं कि रूबी उस पथ को भी देख सकती है या नहीं। – Lukas
हाँ, फ़ाइल मौजूद है और सही स्थान पर है। मैंने अपनी पोस्ट को त्रुटि के साथ अपडेट किया। – alvincrespo