Rails Uploadedfileを手動で作る

ActionDispatch::Http::UploadedFileというアップロードしたデータを扱うクラスがある。
通常は、自動でUploadedFileが作られるから意識することはないんだけど、
テストでアップロードファイルを模したい時や、その他の事情で、UploadedFileをnewしなきゃいけない時があると思う。

そのやり方。

file_path = File.join(Rails.root, 'path/to/file')

ActionDispatch::Http::UploadedFile.new(
  filename: File.basename(file_path),
  type: 'image/jpeg',
  tempfile: File.open(file_path)
)

引数に何を渡すかがわからなかったんですよ・・

タイトルとURLをコピーしました