Я использовал везде шаблоны ERB, используя следующую технику:
def create_from_template(file, template, vars)
contents = File.read(template(template))
struct = OpenStruct.new(vars)
result = ERB.new(contents).result(struct.binding)
File.open(file, 'w') { |f| f.write result }
end
И я использую это следующим образом:
app = App.new(...)
create_from_template('new_file', 'template', { :app => app })
Так что в моем шаблоне я мог иметь:
<%= app.name %>
И в REE 1.8.7 это заменит штраф, однако в 1.9.2 я получаю следующую ошибку:
NameError:
undefined local variable or method `app' for #<ERB:0x007ffe6b838468>
ВОПРОС: Как я могусделать этот код 1.9.2 совместимым?