次の内容の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
しかし、それは機能していないようで、値がnilであるというエラーが表示されます。
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
1
実行時にスクリプトの出力を提供できますか?ファイルは正しい場所にありますか?いつでもRailsコンソールを起動して、rubyがそのパスも見ることができるかどうかを確認できます。
—
2010年
ええ、ファイルは存在し、正しい場所にあります。エラーのある投稿を更新しました。
—
alvincrespo