ERB模板无法从控制器操作中获取实例变量:

时间:2012-05-29 13:37:12

标签: ruby-on-rails erb

我有以下问题在过去两周撕裂了我的灵魂:

我想用预渲染的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是非常不寻常的。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

尝试此操作以获取视图上下文绑定以正确委派实例变量

@report.body = render_to_string :file => "#{Rails.root}/app/views/report_template/default.html.erb"