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

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

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

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

rails 是否传递实际的 Controller 绑定(bind),或者是否存在更好的绑定(bind),我应该传递给模板而不是 Controller 绑定(bind)?

我也读过有关 render_to_string 的内容,但看起来它不适合我,但我不确定。

或者您还有其他建议吗?

最佳答案

这有效

<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>

关于database - 从数据库渲染 erb 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19192297/

相关文章:

javascript - ruby on rails 中的超链接不重定向

Android 数据库损坏,但可以在 SQLite 管理器中打开。可恢复?

java - 使用@Query 与通过 CrudRepository 的 findAll() 进行自定义查询哪个更快?

javascript - 为什么Knockoutjs使用 "with"语句和 "new Function"来实现它的bindingProvider?

c# - 将数据从 View 模型绑定(bind)到 View

python - 如何修复 Anaconda 找不到的 : pyconfig. h

mysql - MySQL AVG()函数返回错误值

sql - 在 MySQL 中将行从一个表复制到另一个表

ruby-on-rails - RoR 提交对象以供批准,仅在批准后处理付款

ruby-on-rails - 如何在运行时从rails应用程序动态编辑routes.rb?