如何在rails上呈现原始erb内容

时间:2013-11-22 17:37:53

标签: ruby-on-rails haml underscore.js erb ruby-on-rails-2

我一直在尝试渲染一个underscore.js模板,就像某些haml内容上的ERB一样。

但随着模板的增长,我不想做更多这样的事情

%script{:type => "text/template", :id => "my_template"}
  :plain
    <div><%= my_js_value %></div>
    .....(other content)...

而不是我想使用partials在其中进行渲染我希望做类似的事情:

  %script{:type => "text/template", :id => "my_template"}
    =render :file => "mytemplate.txt"

但是渲染尝试将ERB绑定在它上面,我的my_js_value错误

我通过这种方式进行渲染的唯一方法是:

  %script{:type => "text/template", :id => "my_template"}
    =render :text => File.read("#{Rails.root}/app/views/mycontroller/mytemplate.txt")

最后一个对我有用,但我一直在寻找比这更好的东西。

你建议我做什么而不是阅读文件?渲染没有“原始”选项吗?

BTW这是在轨道2.3.14 app

1 个答案:

答案 0 :(得分:-1)

我还不熟悉HAML,但有一个rails的原始选项。您可以在以下链接中找到详细信息:

<%= raw @user.name %>

http://api.rubyonrails.org/classes/ActionView/Helpers/OutputSafetyHelper.html