Vorrei sapere come analizzare un file YAML con i seguenti contenuti:Come analizzare un file YAML?
---
javascripts:
- fo_global:
- lazyload-min
- holla-min
Attualmente sto cercando di analizzare in questo modo:
@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
Ma non sembra funzionare e mi dà un errore che il valore è nullo.
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
Se provo questo, si mette fuori l'intera stringa (fo_globallazyload-minholla-min):
if [email protected]_asset_packages_yml.nil?
@custom_asset_packages_yml['javascripts'].each{ |js|
js['fo_global']
}
end
si può dare l'output dello script quando lo si esegue? file nel posto giusto? puoi sempre aprire una console di Rails e vedere se Ruby può vedere quel percorso. – Lukas
Sì, il file esiste ed è nel posto giusto. Ho aggiornato il mio post con l'errore. – alvincrespo