ruby-on-rails – 使用PDFKit的Rails 3.1资产管道

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用PDFKit的Rails 3.1资产管道前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用带有rails 3.1的PDFkit.在过去,我能够使用render_to_string函数并从该字符串创建pdf.然后我按如下方式添加样式表.我的问题是我不知道如何从资产管道中访问它们. (这就是我在rails 3.0中的表现)
html_string = render_to_string(:template => "/faxes/show.html.erb",:layout => 'trade_request')
kit = PDFKit.new(html_string,:page_size => 'Letter')
kit.stylesheets << "#{Rails.root.to_s}/public/stylesheets/trade_request.css"

所以我的问题是如何通过资产管道直接从我的控制器访问我的css文件

我知道我可以使用带有PDFkit的Rack Middleware将pdf呈现给浏览器,但在这种情况下,我需要将pdf发送到第三方传真服务.

谢谢你的帮助.

瑞安

解决方法

刚刚遇到这个问题,我没有使用资产管道,而是直接访问文件,就像之前在/ public中一样.不知道使用这种方法可能的缺点是什么.

我想LESS和SCSS文件将不会像通过资产管道访问那样处理.

html = render_to_string(:layout => false,:action => 'documents/invoice.html.haml')
      kit = PDFKit.new(html,:encoding=>"UTF-8")
      kit.stylesheets << "#{Rails.root.to_s}/app/assets/stylesheets/pdf_styles.css"
      send_data(kit.to_pdf,:filename => "test_invoice",:type => 'application/pdf')

猜你在找的Ruby相关文章