記録のために、私はレガシーコードに取り組んでおり、すべてを壊すことなく新しい機能をプラグインしようとしています。現在、サーバーには次のようなファイルがたくさんあります。
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)
まだ機能していません