我有以下问题在过去两周撕裂了我的灵魂:
我想用预渲染的html-body创建报告:
def new
@content_for_prerendering= Report.get_content
@report = Report.new
template = ERB.new(File.read("#{Rails.root}/app/views/report_template/default.html.erb"))
@report.body = template.result(binding)
end
遵循ERB文件。但是在模板文件DEFAULT.HTML.ERB里面它就像我只能看到像
这样的局部变量 content_for_prerendering = Report.get_content
不是实例变量。将每个实例变量绑定到本地只是为了渲染一些html是非常不寻常的。我错过了什么吗?
答案 0 :(得分:1)
尝试此操作以获取视图上下文绑定以正确委派实例变量
@report.body = render_to_string :file => "#{Rails.root}/app/views/report_template/default.html.erb"