मैं निम्नलिखित सामग्रियों के साथ एक 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 !@custom_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-min) निकाल देता है:
if !@custom_asset_packages_yml.nil?
@custom_asset_packages_yml['javascripts'].each{ |js|
js['fo_global']
}
end