2012-05-31 2 views
9

yaml에 포함 된 변수가있는 루비 문자열을 어떻게 저장할 수 있습니까? yaml에서 문자열을 가져올 때만 변수 값을 삽입 할 수 있습니까? 레일과 같은 YAML 파일에내장 변수가있는 Ruby 문자열

+0

당신이 포함 된 변수를 문자열로 무엇을 의미합니까? 변수 * 이름 * 만 삽입 하시겠습니까? –

+0

나중에 보간을 원합니다. 그렇 겠지. –

+0

나는 "Text for Yaml # {variable}"과 같은 것을하고 싶다고 질문을 읽었습니다. to_yaml 변수는 yaml에 보내기 전에 평가되지 않습니다. – vlasits

답변

19
str = "Hi %{name}, %{msg}. Bye %{name}." #yaml it, de-yaml it back to string 
h = {:name=> "John", :msg=> "this message is for you"} 
puts str % h 
#=>Hi John, This message is for you. Bye John. 
+0

네, 그게 정확히 내가 원하는 것입니다. – yatagarasu

+2

정말 멋진 sprintf입니다! – Hooopo

+0

와우! 좋은 루비! –

2

포함] ERB는 않았다

# config/initializers/load_config.rb 
APP_CONFIG = YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env] 


# config/app_config.yml 
development: 
    key1: <%= # ruby code ... %> 
test: 
    key1: <%= # ruby code ... %> 
production: 
    key1: <%= # ruby code ... %> 
관련 문제