从数据库中渲染erb的最佳方法?

时间:2013-10-04 23:32:45

标签: database binding ruby-on-rails-3.2 render erb

我想将我的邮件模板以erb格式存储在我的数据库中。 在我的模板中,我需要访问基本相同的帮助程序和实例变量,我在我的reqular文件中使用rails中的模板。这就是我在邮件中的内容:

...
template = ERB.new(erb_from_db)
result = template.result(binding)
...

是通过实际控制器绑定的rails还是存在一个更好的绑定,我应该传递给模板而不是控制器绑定?

我也读过关于render_to_string的内容,但看起来对我来说这不对,但我不确定。

或者您还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

这有效

<div class="ibox-content">
<% erb = ERB.new(@article.body.gsub!("&lt;","<").gsub!("&gt;",">")) rescue ERB.new(@article.body)%>
<%= render :inline => erb.result(binding), :layout => false%>
  </div>