我一直在努力获取docraptor rails示例,以使用Rails 3.0.7将生成的PDF保存到Amazon S3。似乎ActionController :: UploadedFile已被ActionDispatch :: Http :: UploadedFile取代,但当我尝试使用该类扩展我的文件对象时,我收到错误'wrong argument type Class (expected Module)'
。
这是来源。我是否正确使用'延伸'?我怎么能做我想在这里做的事情?实际上,我想要做的就是使用Paperclip指定上传到S3的文件的名称。
def create_pdfdoc(document_content)
DocRaptor.create( :document_content => document_content,
:document_type => 'pdf',
:name => self.title.tr(' ','_'),
:test => true) do |file, response|
file.extend(ActionDispatch::Http::UploadedFile)
file.content_type = response.headers["content-type"]
name = self.title.strip.gsub(/\s/, "_").gsub(/\W/, "").underscore.downcase
file.original_filename = "#{name}.pdf"
if response.code == 200
self.pdfdoc = file
end
end
end
答案 0 :(得分:2)
答案 1 :(得分:1)
3年后没有回答问题......
对于将来遇到这种情况的任何人来说,这是“正确”的方式:
DocRaptor.create(options) do |file, response|
upload = ActionDispatch::Http::UploadedFile.new({
:filename => 'test.pdf',
:type => response.headers["content-type"],
:tempfile => file
})
end