在 wicked pdf 中 render_to_string 的正确方法是什么?

2023-11-23

这是 wicked pdf 文档中指定的内容:

WickedPdf.new.pdf_from_string(
render_to_string(:pdf => "pdf_file.pdf", :template => 'templates/pdf.html.erb', :layout => 'pdfs/layout_pdf'), 
:footer => {:content => render_to_string({:template => 'templates/pdf_footer.html.erb', :layout => 'pdfs/layout_pdf'})}
)   

我得到的是 ActionView::MissingTemplate 即使我的目录中有 pdf.html.erb 。我在应用程序控制器中使用 gen_pdf 方法,并在views/application 文件夹中使用等效的 pdf.html.erb 。我缺少什么。


不要使用template.

我遇到了和你一样的问题。当您在控制器操作中执行 PDF 操作时,与在邮件程序或其他操作中执行操作相比,您必须以完全不同的方式呈现 PDF。

首先,使用template行不通的。还有一些其他细微差别,但这是我的实现,您可以以此为基础:

notification_mailer.rb

def export
  header_html = render_to_string( partial: 'exports/header.pdf.erb', 
                                  locals:  { report_title: 'Emissions Export' } )

  body_html   = render_to_string( partial: "exports/show.pdf.erb" )

  footer_html = render_to_string( partial: 'exports/footer.pdf.erb' )

  @pdf = WickedPdf.new.pdf_from_string( body_html,
                                        orientation: 'Landscape',
                                        margin: { bottom: 20, top: 30 },
                                        header: { content: header_html },
                                        footer: { content: footer_html } )

  # Attach to email as attachment.
  attachments["Export.pdf"] = @pdf

  # Send email. Attachment assigned above will automatically be included.
  mail( { subject: 'Export PDF', to: '[email protected]' } )
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 wicked pdf 中 render_to_string 的正确方法是什么? 的相关文章

随机推荐

  • 编写 Iron Python 调试器

    作为学习练习 我正在使用 IronPython 为自己编写一个简单的扩展 插件 宏框架 我已经掌握了基础知识 但我想添加一些基本的调试支持 以使我的脚本编辑器更易于使用 我在互联网上搜索了一下 发现了一些关于编写托管调试器的好资源 包括 M
  • 在 C 中用零覆盖整个文件的最快方法是什么?

    我需要做的是以最快的方式将整个文件内容用零填充 我知道一些Linux命令 比如cp实际上得到一次写入的最佳块大小信息是多少 但我无法弄清楚使用此块大小信息是否足以获得良好的性能并且看起来像st blksize来自stat 没有给我那个块大小
  • Haskell do 符号绑定

    我正在尝试对 Haskell 中的 do 语句进行脱糖处理 我在这里找到了一些例子 但无法将它们应用到我的案例中 我唯一能想到的是一个沉重的嵌套 let 语句 这看起来很丑陋 其中 do 表示法应替换为 bind 的语句 do num lt
  • 更改窗口的消息循环线程

    最近我尝试将窗口的消息循环放在它自己的线程中 我想知道为什么它从未收到任何消息 但我了解到Windows将消息发送到创建窗口的线程 如何在一个线程中创建一个窗口并使另一个线程接收该窗口的消息 我已经看到了 PostThreadMessage
  • 孩子在平面结构多模块maven构建中找不到父pom

    我正在设置一个具有扁平结构的多模块项目 即父级和子级位于同一基目录中 父级定义为
  • 为什么无法在升级中更改放置限制?

    我的 Azure Service Fabric 群集中运行着无状态 ASP NET Core RC1 服务 它具有以下清单
  • 更新 knex 迁移中的枚举列类型

    我正在寻找编写一个迁移字符串以将新字符串添加到枚举列类型 我正在尝试添加gamma to the service column 我尝试使用下面的代码 这会发生冲突 因为表和列已经存在 const table user association
  • 具有相同案例名称和不同类型关联值的枚举

    以下 Swift 代码可编译 enum GraphDataSource case array data Double start Double step Double case pairs XYValues Double Double ca
  • Python脚本运行方式的差异

    我有一个非常简单的 Python 问题 其中包含使用 Django 的示例 运行 Python 脚本时 我是否总是必须在脚本文件名前面加上python命令 在我关注的Django教程中 一些命令如下 django admin py star
  • 如何监听“props”的变化

    In the VueJs 2 0 文档我找不到任何可以监听的钩子props变化 VueJs 有这样的钩子吗 onPropsUpdated 或类似的 Update 正如 wostex所建议的 我尝试watch我的财产 但没有任何改变 然后我意
  • 在 Rails 外部生成迁移

    我在 Rails 之外使用 ActiveRecord 我想要一个程序来生成迁移的框架 以及一个收集和维护它们的系统 有人可以提出建议吗 也来看看新品活动记录迁移
  • 两个日期之间的月份函数

    在oracle中 我可以找出使用MONTHS BETWEEN函数之间的月份数 在 postgres 中 我为此使用 extract 函数 例如 像 select extract year from age current date 2012
  • PHP和Mysql中实现哈希表的步骤

    我是编程语言新手 我正在使用 PHP 和 mysql 我收到一个用 php 做哈希表的作业 我需要做的是 存储用户收集的项目 然后显示它 在网上做了一些研究后 我将在实现哈希表时执行以下步骤 如果我错了 请纠正我 设置表格 gt 用户表 u
  • 使用反射覆盖私有方法

    NET 3 5 中是否可以使用 Reflection 重写私有方法 嗯 它需要是virtual可以覆盖它 通过编写从该类继承的动态类型 并且您不能拥有private virtual 这个不成立 你也许可以重写internal virtual
  • 从 .NET 程序集创建对象时,VB6 中出现后期绑定运行时错误

    我有一个 vb6 项目 其中引用了 vb net com 库 当我使用早期绑定时 该项目运行良好 例如 Dim b as object Set b new myComLib testObject 当我使用后期绑定时 例如 Dim b as
  • Mongoose 实例方法未定义

    我使用 Mongoose 定义了一个实例方法来验证代表 用户 RepSchema methods authenticate function password return this encryptPassword password thi
  • 类与 Class.new,模块与 Module.new

    有什么区别class and Class new module and Module new 我知道 Class new Module new创建一个匿名class module 当我们第一次将它分配给常量时 它就变成了常量的名称class
  • 基于 Razor 的视图看不到引用的程序集

    我正在尝试基于另一个程序集中的类创建强类型视图 但无论出于何种原因 我的 Razor 视图似乎看不到我的项目中引用的其他程序集 例如 model MyClasses MyModel 导致 Visual Studio 2010 中出现错误 类
  • Android Studio 中的 OpenCV

    我想在 Android Studio 的应用程序中使用 OpenCV 库 我按照说明发现here但我收到错误 未找到名称为 default 的配置 有什么问题吗 我使用 Android Studio 1 0 和 gradle 2 2 1 以
  • 在 wicked pdf 中 render_to_string 的正确方法是什么?

    这是 wicked pdf 文档中指定的内容 WickedPdf new pdf from string render to string pdf gt pdf file pdf template gt templates pdf html