Ruby on Rails でファイルをアップロードしようとしたときに、問題が発生しました。
ファイルをアップロードする方法は次のとおりです。
def upload_image(image)
File.new(Rails.root.join('assets','images','products',image.original_filename),'wb') do |f|
f.write(image.read)
end
end
これは例外をスローします:
Errno::ENOENT in ProductsController#update
No such file or directory - /home/alex/RubymineProjects/psg/assets/images/products/my-image.png
なぜこうなった?新しいファイルを作成しているだけで、既存のファイルを開こうとしているわけではありません。