【问题标题】:Rendering HTML in rails without actually displaying it在rails中渲染HTML而不实际显示它
【发布时间】:2010-05-05 18:51:36
【问题描述】:

我当前的项目需要我组装一个包含 HTML 和纯文本模板的 .zip 文件,供用户下载,以便导入电子邮件营销程序。

我继承了这个项目,目前代码使用“假”模型(即与数据库表不直接相关的模型),其中它使用动态变量将整个模板存储在字符串中填充某些区域。然后,“假”模型具有创建 zip 文件的方法。

在我看来,必须有更好的方法来做到这一点。我想知道是否有办法将模板移动到 .erb/haml 文件中,然后编写一个方法来填充文件以准备压缩?基本上,有没有一种方法可以渲染 HTML 和文本文件,而无需实际显示它们?

感谢您的帮助。

【问题讨论】:

  • “假”模型或控制器?通常控制器负责渲染而不是模型。
  • 这是一个位于模型文件夹中的类,但它不与数据库对象关联。相反,它需要在调用类时将实际模型的 ID 传递给它。

标签: ruby-on-rails model render erb


【解决方案1】:

只需编写操作和视图以正常渲染 html 和文本,然后使用 render_to_string 方法将内容分配给字符串

http://apidock.com/rails/ActionController/Base/render_to_string

然后您可以运行 Model 方法(希望是 Class 方法)以使用您现在在实例变量中拥有的内容创建 zip 文件

【讨论】:

    【解决方案2】:

    请查看cells plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多