作为记录,我正在处理遗留代码,并且我正在尝试在不破坏所有内容的情况下插入新功能。现在我的服务器上有一堆文件,如下所示:
myapp/public/temp/myfile.doc
问题是我想在控制器操作中从这些文件创建一个 Docfile 对象。
这是精简的 Docfile 类:
class DocFile < ActiveRecord::Base
has_attached_file :docs,
:path => "#{Constants::DOCFILES_PATH}:basename.:extension",
:url => "http://#{Constants::SITE_URL}/docs/:basename.:extension"
end
如果您从表单上传,回形针有一些很好的文档,但在我的情况下没有。
那么如何“模拟”我正在上传文件的事实呢?
到目前为止,我已经尝试过:
temp_file_url = "correct_rails_root/myapp/public/temp/myfile.doc"
@docfile = DocFile.new :docs => temp_file
但它不起作用。
任何指针将不胜感激!
编辑:
我这样做了:
temp_file_url = Constants::TEMPORARY_UPLOAD_PATH + "/" + params[:temp_file_upload][:doc]
temp_file = File.new(temp_file_url, "w+")
@docfile = DocFile.new :docs => File.open(temp_file_url)
它仍然无法正常工作