This gem provides a simple and extremely flexible way to upload files from Ruby applications. It works well with Rack based web applications, such as Ruby on Rails. CarrierWave gives you a store for permanent storage, and a cache for temporary storage. You can use different stores, including filesystem and cloud storage. Most of the time you are going to want to use CarrierWave together with an ORM. It is quite simple to mount uploaders on columns in your model, so you can simply assign files and get going. Make sure you are loading CarrierWave after loading your ORM, otherwise you'll need to require the relevant extension manually. Now you can cache files by assigning them to the attribute, they will automatically be stored when the record is saved. CarrierWave also has convenient support for multiple file upload fields. Add a column which can store an array. This could be an array column or a JSON column for example. Your choice depends on what your database supports.
Features
- Make multiple file uploads
- Make uploads work across form redisplays
- Remove uploaded files
- Upload files from a remote location
- Provide a default URL
- Skip ActiveRecord callbacks