私はerbテンプレートをRailsの外にレンダリングしています。私のコードで私はこれを持っているので、テンプレートは、HTMLファイルとして保存し、別の場所に送信することがある。ERBがこの行をレンダリングしない理由
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
すべてのコンテンツが微細化されていますが、ERBは、単に@address
変数を無視します。理由の任意のアイデア?私のコードでは、私がputs @address
を実行すると、出力は期待どおりの文字列になります。私がputs @address.class
の場合、出力は文字列です。私は行方不明ですか?
<span class="wday"><%= @address %></span>
あなたは@addressを使用していますか?もしそうなら、どこでどのくらい正確に? –
@Eric Duminilその文字列をレンダリングするテンプレートのスニペットを追加しました – WagnerMatosUK
[mcve]は大いに役立ちます。 –