Tôi muốn biết cách phân tích tệp YAML với các nội dung sau:
---
javascripts:
- fo_global:
- lazyload-min
- holla-min
Hiện tại tôi đang cố gắng phân tích nó theo cách này:
@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
Nhưng nó dường như không hoạt động và cho tôi một lỗi rằng giá trị là không.
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
Nếu tôi thử điều này, nó sẽ đưa ra toàn bộ chuỗi (fo_globallazyload-minholla-min):
if !@custom_asset_packages_yml.nil?
@custom_asset_packages_yml['javascripts'].each{ |js|
js['fo_global']
}
end