PDFkit Rails3.1和开发环境

2023-12-19

我的 Rails 3.1 应用程序正在使用 PDFkit 来渲染特定页面,并且我遇到了(看起来像是)一个常见问题:尝试生成 pdf 导致进程挂起。 我在 stackoverflow 上找到了这个解决方案:Rails 3 和 PDFkit https://stackoverflow.com/questions/7531005/rails-3-and-pdfkit。我在哪里添加一个config.threadsafe!我的development.rb 文件中的条目,这有效BUT它要求对于应用程序中任何位置的每次更改,我都必须停止并重新启动服务器才能查看我的更改。工作流程中不可接受 - 我目前正在设置 PDF 页面的样式,而且必须执行此操作的过程非常缓慢。

我还发现这里报告了同样的问题:https://github.com/jdpace/PDFKit/issues/110 https://github.com/jdpace/PDFKit/issues/110,问题指向此解决方法:http://jguimont.com/post/2627758108/pdfkit-and-its-middleware-on-heroku http://jguimont.com/post/2627758108/pdfkit-and-its-middleware-on-heroku.

 ActionController::Base.asset_host = Proc.new { |source, request|
  if request.env["REQUEST_PATH"].include? ".pdf"
    "file://#{Rails.root.join('public')}"
  else
    "#{request.protocol}#{request.host_with_port}"
  end
}

这消除了重新启动更改的需要,BUT现在,当我加载 pdf 时,它没有从资产管道渲染的样式,因为它从公共目录中获取资产。我想如果我知道如何为公共文件夹中的 pdf 模板创建样式表,我可以使用此解决方案。是否有人使用 PDFKit 和 Rails3.1 进行开发,并且所有这些都同步工作?

任何帮助将不胜感激! 谢谢! 托尼


这是我正在使用的设置:

  1. 我运行 Rails 服务器的第二个实例rails server -p 3001 -e test它将处理我的 PDF 资源。服务器将在资产请求传入时打印它们,因此我可以检查一切是否按预期运行。

  2. 我用以下asset_host in my config/environments/development file:

    config.action_controller.asset_host = ->(source, request = nil){
      "http://localhost:3001" if request && request.env['REQUEST_PATH'].include?(".pdf")
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PDFkit Rails3.1和开发环境 的相关文章

随机推荐

  • 如何在iPhone上进行捏合手势?

    如何在 iPhone 上实现捏合手势 我熟悉在 iPhone 上使用触摸事件 但我非常懒 不想为像捏手势这样广泛使用的东西重新发明轮子 源代码或链接会很有帮助 您需要使用一些基本的数学知识自己实现它 void touchesBegan NS
  • 当视图控制器推到导航控制器上时,后退按钮不可见

    当点击单元格时 我使用导航控制器深入查看详细视图 当我将视图控制器推入导航控制器堆栈时 我希望看到一个后退按钮 可以点击该按钮将前一个视图从堆栈中弹出 问题是后退按钮不可见 但是当点击它时shouldbe 让我回到之前的视图 有什么问题 确
  • .NET Framework - 可能存在内存泄漏的类?

    就在前几天 我正在调查内存泄漏 该泄漏在不到两分钟的时间内使应用程序从约 50MB 膨胀到约 130MB 事实证明问题出在并发队列 http msdn microsoft com en us library dd267265 aspx班级
  • 选择选项使用 JQUERY 通过文本获取值[重复]

    这个问题在这里已经有答案了 我有 html 选择 下拉菜单 其中包含许多填充选项 我还有一个包含许多名称的表格 旁边有按钮 我需要当您按下任何名称旁边的按钮时 就会在选择框 下拉列表 中选择该名称 选项值是 id 选项文本是名称 例子 Na
  • 是否可以序列化 Ace Session 对象?

    我想序列化并存储 Ace Session 对象 这样我就可以打开一个 文件 并恢复所有内容 值 选择 光标位置 模式等 我试过了JSON stringify session 它会抛出一个循环错误 有任何想法吗 最简单的版本是 var ses
  • 有没有办法在 C# 5 中模仿 C# 6 空条件运算符

    我遇到一种情况 我需要在对象初始值设定项内分配一些对象的属性 其中一些对象可以为 null 我需要访问它们的属性 问题是它们太多 并且使用 if else 东西不好 Example visits visitJoins AsEnumerabl
  • Mersenne Twister 跨编译器的再现性[重复]

    这个问题在这里已经有答案了 我正在使用 std mt19937 64 生成随机数序列 我注意到 当在同一平台上使用相同的种子运行 GCC 和 Clang 时 我获得了不同的序列 我通过 Valgrind 运行该程序 发现没有未初始化的内存
  • conda 返回“解决环境:失败”

    我无法再使用 conda 实用程序 多年来我经常使用它 但最近 因为我安装了 python 模块scp 使用命令conda install scp 我不知道这是否重要 没有任何明显异常的情况 只要我使用 conda 无论命令如何 我都会收到
  • 使用 Node.js 实时抓取网页

    好处是使用 Node js 抓取网站内容 我想构建一个非常非常快的东西 可以以以下方式执行搜索皮划艇网站 http www kayak com 其中一个查询被分派到多个不同的站点 结果被抓取 并在可用时返回给客户端 我们假设这个脚本应该只提
  • 使用 printf() 将字符串居中

    默认情况下 printf 似乎将字符串向右对齐 printf 10s 20s 20s n col1 col2 col3 col1 col2 col3 我还可以像这样将文本向左对齐 printf 10s 20s 20s col1 col2 c
  • 对 Rcharts 使用百分比宽度

    我想知道如何使用 而不是 px 设置 rChart 的宽度 我在源代码中注意到它默认为像素 我试图在一个闪亮的应用程序中使用它 并且用图表修复似乎是一个问题 因为它们不随用户界面的其余部分扩展 有没有解决的办法 这应该被视为黑客攻击 因为两
  • Rails 有内置的分页解决方案吗?

    我注意到分页宝石就像mislav will paginate很受欢迎 这是因为Rails没有内置的分页解决方案还是因为内置的解决方案不是很好 在 Rails 2 0 中 ActionController 的分页功能被删除 并变成了一个名为
  • C 中的原子读取

    根据C 对 int 的读写是原子的吗 https stackoverflow com questions 54188 are c reads and writes of an int atomic 由于处理器缓存的问题 整数的读取 因此指针
  • 为什么 Python 脚本可以在 CLI 中运行,但在 cron 作业调用时却不能运行?

    我创建了一个 Python 脚本 我想通过 Ubuntu 服务器上的 cronjob 每天运行它 这是从命令行运行该脚本的方式 python home username public html IDM app manage py clean
  • 增强多索引容器的模板参数

    我需要创建一个包含多索引容器作为存储的通用类 当我编译时 它给出如下错误 其中我定义了第 n 个索引视图 错误 非模板 nth index 用作模板 connection manager 模板 类 conn mgr boost noncop
  • 实体框架从 6.1.x 升级到 6.2.0 会破坏某些查询,除非我启用 MARS

    我最近在我们的一个大型项目中将 EF 6 1 3 升级到 6 2 0 它破坏了我们大量的 LINQ 查询 启用 MultipleActiveResultSets 会使一切再次正常工作 但我很难理解这种变化 我们已经使用 EF 多年 并且经历
  • Three.js 中的剪辑是自动完成的吗?

    所以 我正在阅读有关剪辑的内容this http en wikipedia org wiki Clipping 28computer graphics 29维基百科文章 这似乎对所有游戏都非常重要 所以 我是否必须这样做 还是由 Three
  • GDB:在每一步后禁用当前行的打印

    GNU gdb 命令行调试器在每次执行后打印当前所在的行step and next命令 考虑以下 gdb 会话 我在其中单步执行一些代码 Temporary breakpoint 1 main argc 1 argv 0x7fffffffd
  • 如何在 Haskell 中将小数解析为有理数?

    我一直在参加编程竞赛 http codeforces com contest 105 and 问题之一 http codeforces com contest 105 problem A 输入数据包括十进制格式的小数 0 75就是一个例子
  • PDFkit Rails3.1和开发环境

    我的 Rails 3 1 应用程序正在使用 PDFkit 来渲染特定页面 并且我遇到了 看起来像是 一个常见问题 尝试生成 pdf 导致进程挂起 我在 stackoverflow 上找到了这个解决方案 Rails 3 和 PDFkit ht