私が持っているのは、次のようなhtmlおよびpdfファイル形式に応答するコントローラーアクションです:
def detail
@record = Model.find(params[:id])
respond_to do |format|
format.html # detail.html.erb
format.pdf { render :layout => false } #detail.pdf.prawn
end
end
しかし、ファイルを取得すると、名前が付いてきます。ファイル名をどのように設定するか1.pdf
2.pdf
によって異なりますparams[:id]
myfile.pdf
- アップデート -
私のdetail.pdf.prawn
ファイルの例
pdf.font "Helvetica"
pdf.image open("http://localhost:3000/images/myImage.png"),:position => :left,:width=>100
pdf.text "some text"
pdf.table(someData,:cell_style => { :border_width => 0.1,:border_color=> 'C1C1C1' }) do |table|
table.row(0).style :background_color => 'D3D3D3'
table.column(0..1).style(:align => :left)
table.column(2..4).style(:align => :center)
table.column(0).width = 100
table.column(1).width = 250
table.column(3..4).width = 68
table.row(2).column(0..2).borders = []
table.row(2).column(3).style(:font_style => :bold, :align => :right)
end
コントローラー内のformat.pdf { render :layout => false }
は、次の手順で PDF ファイルをレンダリングします。detail.pdf.prawn