我需要使用绝对资产路径生成的 HTML,以便我可以将 HTML 提供给 PDF 生成引擎。所以路线会是这样的
/report.pdf
这将生成视图
/report.html
然后使用 PDF 生成引擎进行后期处理。
http://apidock.com/rails/AbstractController/Rendering/render_to_string
会让我走到一半,但会留下资产及其相对路径。
我需要使用绝对资产路径生成的 HTML,以便我可以将 HTML 提供给 PDF 生成引擎。所以路线会是这样的
/report.pdf
这将生成视图
/report.html
然后使用 PDF 生成引擎进行后期处理。
http://apidock.com/rails/AbstractController/Rendering/render_to_string
会让我走到一半,但会留下资产及其相对路径。
我在生成pdf时遇到了同样的问题。我在环境中设置了asset_host
config.action_controller.asset_host = "http://localhost:3000"
或者在 render_to_string 之前添加这一行
host = ActionController::Base.asset_host
ActionController::Base.asset_host = request.protocol + request.host_with_port if host.blank?
我在我的 gem 中使用acts_as_flying_saucer
我希望这会有所帮助但我已经在 2.x 和 rails 3.0.x 上进行了测试。我没有用 rails 3.1 测试过,我会尽快测试并让你知道