Ich rende eine Vorlage außerhalb Rails. Die Vorlage ist als HTML-Datei gespeichert werden und an anderer Stelle geschickt, so in meinem Code ich habe dies:Warum ERB diese Zeile nicht rendert
erb_file = "templates/banners/#{template}.html.erb"
erb_str = File.read(erb_file)
@city = options[:city]
@address = "#{@campaign.open_house_day} #{@case.open_house_from.strftime('%d/%m')} kl. #{@case.open_house_from.strftime('%H.%M')}-#{@case.open_house_to.strftime('%H.%M')}"
...
renderer = ERB.new(erb_str)
result = renderer.result(binding)
FileUtils.mkdir_p('temp') unless File.directory?('temp')
File.open('temp/index.html', 'w') do |f|
f.write(result)
end
Alle Inhalte fein gemacht wird, aber erb einfach @address
Variable ignorieren. Irgendwelche Ideen warum? Während in meinem Code, wenn ich puts @address
tun, ist die Ausgabe eine Zeichenfolge wie erwartet. Wenn ich puts @address.class
mache, ist die Ausgabe ein String. Was vermisse ich?
Bitte beachten Sie, dass die oben nicht Rails nicht verwendet
EDIT
Hier ist die Linie in meiner Vorlage, die ich die html machen verwenden:
<span class="wday"><%= @address %></span>
Sie @Adresse verwenden Sie? Wenn ja, wo und wie genau? –
@Eric Duminil Ich habe das Snippet der Vorlage, die diese Zeichenfolge rendert – WagnerMatosUK
A [mcve] wird sehr helfen. –