1

rakeタスクからpdfを作成する必要があります。したがって、モデル自体からpdfを生成します。私はwicket_pdfを使用して、ネットでPDFファイルの作成方法をたくさん検索しています。ブラウザでpdfが機能します(単純な部分は正しいです;-))。

私の環境:

  • ルビー1.9.3
  • レール3.2.6
  • wicked_pdf 0.7.9 => actual_version

これが私のこれまでの解決策です:

    # 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