Нет, это не правильный способ сделать это.Вы не можете ожидать, что Ruby будет магически интерпретировать любую #{}
, с которой он встречается где-либо в ваших данных, как переменную интерполяцию.Это (среди других ужасных побочных эффектов) приведет к массовым проблемам с безопасностью повсюду.
Если вы хотите интерполировать данные в строку, вам нужно eval
, которая имеет свою собственнуюриски безопасности:
str = 'The value of x is #{x}'
puts str # The value of x is #{x}
x = "123"
puts eval "\"#{str}\"" # Thje value of x is 123
Непонятно , какие переменные вы пытаетесь вставить в свои данные.Это почти наверняка неправильный способ делать то, что вы делаете.