18

wicked PDF をインストールし、コントローラーを変更しました。

def show
  respond_to do |format|
    format.pdf do
      render :pdf => "file_name"
    end
    format.html
  end
end

これが私がpdfにリンクする方法です:compte_contrat_path(c,:format=>'pdf')

HTML(フォーマットなし)では機能しますが、PDFでは次のエラーで失敗します:

テンプレートがありません

{:locale=>[:fr], :formats=>[:pdf], :handlers=>[:erb, :builder, :coffee, :arb]} のテンプレート contrats/show がありません。検索場所: * "/home/sylario/ruby/place_de_marche/app/views" * "/usr/local/rvm/gems/ruby-1.9.2-p136/gems/activeadmin-0.5.0/app/views" * "/usr/local/rvm/gems/ruby-1.9.2-p136/gems/kaminari-0.14.1/app/views" * "/usr/local/rvm/gems/ruby-1.9.2-p136/gems /devise-2.2.0/app/views"

私は何を間違っていますか?

4

1 に答える 1

35

ヘンリーのおかげで、それが ERB のフォーマットに関連していたことがわかりました。html.erb ファイルを再利用する方法を見つけました。

まず、コントローラーで次のことを行います

format.pdf do
    render  :pdf => "file.pdf", :template => 'contrats/show.html.erb'
end

次に、パーシャルを使用するときは、次のように呼び出します。

render :partial => 'fullpath/toview.html.erb', :formats => [:html], :locals => { :mylocal=>@something }
于 2013-07-09T15:48:05.940 に答える