1

私は、Thoughtbots 高電圧 gem を使用して Rails 3.2 アプリケーションで提供する静的なヘルプ ページのセットを持っています。コントローラーを介してhtmlページを提供せずに、これを「バニラ」の方法で使用しています。

バックグラウンド

私は元々、Michael Hartl のチュートリアルを静的ページに合わせて自分でやろうとしていました。動作するようにルーティングしたため、Google 検索により、Thoughtbots High-Voltage gem が明らかになりました。

願望

私が望むのは、Thoughtbots High-Voltage gem を使用して PDF ファイルを生成するのに最適な gem または方法を推奨することです。

誰もこれをやったことがありますか?

これをherokuでホストできるようにしたいので、もしあれば事前gotacha'sに知りたいです。

私の現在の実装は、基本的な Rails 3.2 アプリケーションで、High-Voltage gem がインストールされており、pages サブディレクトリの下にいくつかのビューがあります。

  • ページ/ヘルプ/ユーザー
  • ページ/ヘルプ/製品
  • ページ/ヘルプ/注文

HTML ページ内に画像がありますが、これが問題を引き起こすかどうかはわかりません。

EDIT: Rails 3.2.3のwicked_pdf、Lionのruby 1.9.3-p125にまだ問題があるとして提供された回答に基づいてコントローラーを追加しました

class PagesController < HighVoltage::PagesController
def show
  respond_to do |format|
    format.html do
      super
    end
    format.pdf do
      #render :pdf => "pdf_file" # wicked_pdf syntax here
      render :pdf => :id,
             :layout => 'application',
             #:template => 'help/products/product_tolerance.html.erb',
             :template => 'pages/#{:id}.html.erb',
             :show_as_html => params[:debug],
             :footer => {
                :left => "Generated on @now",
                :centre => "Centre",
                :right => "Page # of page(s)"
             }        
      end
    end
  end
end

Routes ファイルには以下が含まれます。

match "/pages/*id" => 'pages#show', :as => :page, :via => :get, :format => false

:format は真であるべきですか? コントローラーと高電圧で?

4

1 に答える 1

0

ここで説明されているように、高電圧ページコントローラーをオーバーライドします: https ://github.com/thoughtbot/high_voltage#override

次に、pdfkitまたはwicked_pdf(htmlからpdfへのコンバーター)をインストールし、それらをそのコントローラーに接続してPDFバージョンを作成します。

class PagesController < HighVoltage::PagesController
  def show
    respond_to do |format|
      format.html do
        super
      end
      format.pdf do
        render :pdf => "pdf_file" # wicked_pdf syntax here
      end
    end
  end
end
于 2012-05-22T21:17:13.557 に答える