我正在使用带有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')