1

我需要从 rake 任务创建一个 pdf。因此我从模型本身生成pdf。我使用 wicket_pdf 并在网上搜索了很多,如何创建 pdf 文件。在浏览器中 pdf 作品(简单的部分正确;-))。

我的环境:

  • 红宝石 1.9.3
  • 导轨 3.2.6
  • wicked_pdf 0.7.9 => 实际版本

到目前为止,这是我的解决方案:

    # app/controllers/bills_controller.rb
    class BillsController < ApplicationController
      before_filter :authenticate_admin_user!
      respond_to :html, :pdf

      def show
        @bill = Bill.find(params[:id])
        respond_with(@bill) do |format|
          format.html 
          format.pdf { render :pdf => "mypdf", :disposition => "inline" }
        end
      end
    end

    # app/models/bill.rb
    # solution from https://github.com/mileszs/wicked_pdf/issues/84
    class Bill < ActiveRecord::Base

      require 'open-uri'
      def save_pdf
        pdf = open("http://localhost:3000/bills/#{id}.pdf")
        File.open(Rails.root.join("pdfs","#{id}.pdf"), 'wb') { |f| f.print(pdf.read) }
      end

    end

从控制台:

Bill.first.save_pdf

但我得到了错误:

OpenURI::HTTPError: 401 Unauthorized 

我如何通过 rake 任务中的 open-uri 对 devise_user 进行身份验证?

4

0 回答 0