1

ペーパークリップの場合、プログラムで追加するファイルがあります。ファイルは生成された PDF です。したがって、基本的に、このファイルをサーバーの HDD に保存する必要はありません。私が今していることは次のとおりです。

@tempfile = Tempfile.open( ['','.pdf'], nil, 'wb', encoding: "ASCII-8BIT") do |file|
  file << render_to_string( pdf: "pdf_file.pdf", layout: "pdf", template: "projects/generatePDF" )
end

@export.pdf = File.open( @tempfile.path )     # Paperclip Attachment

これらは 3 つのステップです: 作成、書き込み、開く。だから、これをもっと簡単にできるかどうか疑問に思っています。次のようなものが素晴らしいでしょう:

@export.pdf = File.new( render_to_string( pdf: "pdf_file.pdf", layout: "pdf", template: "projects/generatePDF" ) )
4

1 に答える 1

2

stringio を使用してみてください。これは、ファイルではなく文字列によってサポートされる IO のサブクラスです。

于 2013-01-30T08:53:17.250 に答える