다음 내용으로 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
그러나 작동하지 않는 것 같고 값이 0이라는 오류가 발생합니다.
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 콘솔을 실행하여 루비가 해당 경로를 볼 수 있는지 확인할 수 있습니다.
—
Lukas
예, 파일이 존재하고 올바른 위치에 있습니다. 내 게시물을 오류로 업데이트했습니다.
—
alvincrespo