-1

コントローラーに次のアクションがあります

def save
  client = Pdfcrowd::Client.new("asdads", "asdads")

  pdf = client.convertHtml(params[:gender])

  send_data(pdf, 
            :filename => "untitled.pdf",
            :type => "application/pdf",
            :disposition => "attachment")
rescue Pdfcrowd::Error => why
  render :text => why
end

ビューから Html コードを取得し、それを pdf に変換したい

私はpdfcrowd gemを使用しています

私のビューには次の行もあります。

<% params[:gender => compareGender(@task) ] %>

compareGender は svg コードを返すメソッドです

これは機能していません。誰かが別の解決策を提案できますか?

4

1 に答える 1

0

選択肢は 2 つあります。Rails の render_to_string メソッドを使用して、レンダリングされたビューを文字列変数に取得し、それを PDF に変換できます。または、Rails のレンダリングをスキップして、Erb ライブラリを直接使用してビューを文字列にレンダリングすることもできます。後者の方がうまくいくと思います。また、Rails が render_to_string API に加える可能性のある変更から保護することもできます。

ビューが Erb ではなく Haml にある場合は、代わりに haml を使用してレンダリングしてください。

于 2013-04-09T19:09:00.283 に答える