私は、カスタムのPDFをダウンロードするための特別なルートを持っているしたいと思います。PDFは私のRailsアプリケーションで
このPDFは、私のアプリケーションでのERBテンプレートからPDFKitを介して生成されなければなりません。代わりに私が達成したいものを記述する、私はより良いいくつかの非実行が、コメントのコードを貼り付けます。
class MyController < ApplicationController
def download_my_list_as_pdf
# The template uses the instance variables below
@user_id = params[:user_id]
@items = ['first_item', 'second_item']
# This line describes what I'd like to do but behaves not like I want ;)
# Render the ERB template and save the rendered html in a variable
# I'd also use another layout
rendered_html = render :download_my_list_as_pdf
kit = PDFKit.new(rendered_html, page_size: 'A4')
kit.to_pdf
pdf_file_path = "#{Rails.root}/public/my_list.pdf"
kit.to_file(pdf_file_path)
send_file pdf_file_path, type: 'application/pdf'
# This is the message I'd like to show at the end
# But using 'render' more than once is not allowed
render plain: 'Download complete'
end
end
が、私はまだこの問題に対する答えを見つけることができませんでした、任意の助けをいただければ幸いです!
@maxねえ、あなたの答えや追加説明に感謝!あなたは(http://guides.rubyonrails.org/layouts_and_rendering.html#using-render)[あなたが探しているものを知っている]とき、それは何かを見つけるのは簡単だということを改めて示している。) 今、このと一緒に行きました: 'rendered_html = render_to_string :download_my_list_as_pdf、レイアウト:false' – krebas