- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用 WickedPDF gem 和 Sidekiq 打印 PDF。我认为/希望它几乎可以正常工作,这里是相关的 Controller 代码:
def print_token
@token = Token.find(params[:id])
TokenPdfPrinter.perform_async(@token.id)
redirect_to :back
end
和 worker :
class TokenPdfPrinter
include Sidekiq::Worker
sidekiq_options retry: false
def perform(token_id)
@token = Token.find(token_id)
# create an instance of ActionView, so we can use the render method outside of a controller
av = ActionView::Base.new()
av.view_paths = ActionController::Base.view_paths
# need these in case your view constructs any links or references any helper methods.
av.class_eval do
include Rails.application.routes.url_helpers
include ApplicationHelper
end
pdf = av.render pdf: "Token ##{ @token.id }",
file: "#{ Rails.root }/app/admin/pdfs/token_pdf.html.erb",
layout: 'layouts/codes',
page_height: '3.5in',
page_width: '2in',
margin: { top: 2,
bottom: 2,
left: 3,
right: 3 },
disposition: 'attachment',
disable_javascript: true,
enable_plugins: false,
locals: { token: @token }
send_data(pdf, filename: "test.pdf", type: "application/pdf")
end
end
然后局部渲染:
<!DOCTYPE html>
<html>
<head>
<title>WuDii</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<%= wicked_pdf_stylesheet_link_tag "application" %>
<%= wicked_pdf_stylesheet_link_tag "codes" %>
<%= wicked_pdf_javascript_include_tag "application" %>
</head>
<body>
<%= yield %>
</body>
</html>
和token_pdf.html.erb:
<% @token = @token %>
<br>
<div class="barcode text-center"><br><br><br><br><br><br><br><br>
<p><%= @token.encrypted_token_code.scan(/.{4}|.+/).join('-') %></p>
<h3><strong>(<%= number_with_delimiter(@token.credits, delimiter: ',') %>)</strong></h3>
</div>
而且我收到一个错误消息,指出在 token_pdf.html.erb 中@token 为 nil。有什么建议我在这里做错了吗?
最佳答案
您将局部变量 token 传递给 View ,因此您应该在不使用@的情况下引用它。将第一行更改为 <% @token = token %> 它应该可以工作。或者只是跳过第一行并通过局部变量引用标记。
关于ruby-on-rails - 来自 Sidekiq worker : How to pass a partial? 的邪恶 PDF 生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25709785/
对于线程和计时器之类的东西,我无法忍受拖放控件。这些控件只是感觉与它们存在的实际本质相去甚远。拖放一个线程?我希望拖拽者在他们这样做之前了解幕后发生的事情。 这些抽象是否离金属太远了?他们是在帮助还是
有些人似乎认为 C 的 strcpy() 函数不好或邪恶。虽然我承认通常最好使用 strncpy() 来避免缓冲区溢出,但以下(strdup() 函数的实现对于那些不幸的人来说拥有它)安全地使用 st
我一直在用 matrix = *((fxMatrix*)&d3dMatrix); 好久不见。它工作正常,直到我的屏幕变黑并在我的办公 table 上收到一桶挫败感。 fxMatrix 包含 4 个 f
这是我应该问的问题,而不是这个: Emacs evil: space as a prefix key in motion state 我想定义一堆用于移动、移动、打开和关闭窗口和缓冲区的命令,这些命令
作为 Vim 用户,我在将近二十年后尝试 Emacs+Evil。我正在将我的大部分 Vim 配置移至 Evil,但我遇到很多问题的一件事是像我在 Vim 中使用的那样设置搜索和突出显示。我想要得到的是
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 9年前关闭
我是一名优秀的程序员,十分优秀!