연관 배열 일명 사전으로 표시된 yaml에 일부 구성 변수를 저장하려고합니다. 내가 한 방법은 다음과 같습니다.
content_prices:
- {country: AU, price: 6990000}
- {country: AT, price: 4990000}
- {country: BE, price: 4990000}
내 ROR 초기화 파일에서 구문 분석하려고 할 때 예외가 발생합니다.
정의되지 않은 메소드`symbolize_keys! ‘ nil : NilClass의 경우
초기화 방법은 다음과 같습니다.
Config = YAML.load_file("#{Rails.root}/config/prices.yml")[Rails.env].symbolize_keys!
내 yaml 구문이 잘못된 것 같습니다. 그러면 올바르게 작성하는 방법은 무엇입니까?
답변
YAML이 괜찮아 보이거나 다음과 같이 해시 배열을 구성 할 수 있습니다.
content_prices:
- country: AU
price: 6990000
- country: AT
price: 4990000
- country: BE
price: 4990000
다음 해시로로드됩니다.
{"content_prices"=>[
{"country"=>"AU", "price"=>6990000},
{"country"=>"AT", "price"=>4990000},
{"country"=>"BE", "price"=>4990000}]}
그러나 여전히 Rails.env
메인 해시 의 에 대한 참조를 제공하지 않습니다 . 문제는 YAML의 형식이 아니라 해시에있을 것으로 예상되는 것 같습니다.
답변
레일이 아니라 Symfony2 php에서 다음과 같이 yml 파일을 구성해야했습니다.
content_prices : - 국가 : AU 가격 : 6990000 - 국가 : AT 가격 : 4990000 - 국가 : BE 가격 : 4990000
답변
누군가가 동적 키를 사용하려는 경우에도 가능합니다.
AppBundle\Service\MailerService:
lazy: false
arguments:
$defaultFrom:
'%mailer_user%': '%mailer_name%'