Journey

技術に関することと覚書と

RailsでFileをActionDispatch::Http::UploadedFileに変換する方法

Railsで開発しているときに、生のRubyのFileオブジェクトからRalisのフォームから送信されたActionDispatch::Http::UploadedFileに変換したいときがあったのでそのときに解決した方法です。

require 'mime/types'

File.open(path) do |file|
  filename =  File.basename(file.path),
  ActionDispatch::Http::UploadedFile.new(filename: filename, type: MIME::Types.type_for(filename).first.to_s, tempfile: file))
end