Ruby でファイルアップロードなら「CarrierWave」というGemが便利みたいです。
Rackに対応しているため、Rails、SinatraなどRackベースのRubyアプリケーションで動作し、ActiveRecord、DataMapper、 Mongoidなど多くのORMをサポートしています。
・jnicklas/carrierwave · GitHub
・ASCIIcasts - “Episode 253 - CarrierWaveでファイルのアップロード”
・Railsでcarrierwaveを使って画像ファイルのアップロード
.gitignore
# CarrierWave
/public/uploads
テストデータを作る場合、rails c で画像をモデルに割り当てて、保存すればOKです。
photo = Photo.new
photo.image = File.open('app/assets/images/dummy.jpg')
include ActionDispatch::TestProcess
FactoryGirl.define do
factory :photo do
ignore do
image_file "test1.jpg"
end
name "TestPhoto"
image { fixture_file_upload(Rails.root.join('spec', 'support', 'test_images', "#{image_file}"), 'image/jpg') }
end
end
・Action*3 - rspecでCarrierWaveのアップロードファイルをclean
・How to: Cleanup after your Rspec tests · jnicklas/carrierwave Wiki