2012-05-31 12 views
9

¿Cómo puedo almacenar cadena de ruby ​​con variables incrustadas en yaml, pero insertar valores de variable solo cuando obtengo una cadena de yaml? erbCadenas de Ruby con variables incrustadas

+0

¿qué es lo que quiere decir con cadena con las variables asociadas? ¿Estás seguro de que deseas insertar * nombres * variables * solo ... –

+0

Quiere hacer la interpolación más tarde. Supongo. –

+0

Leí la pregunta como que quería hacer algo como "Texto para Yaml # {variable}". To_yaml donde la variable no se evalúa antes de que se envíe a yaml. – vlasits

Respuesta

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

sí, eso es exactamente lo que quiero – yatagarasu

+2

¡Un sprint tan genial! – Hooopo

+0

¡GUAU! Ruby para siempre! –

2

Insertar en el archivo YAML como carriles hizo:

# 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 ... %> 
Cuestiones relacionadas