chmod -R 777 uploads
2. The uploads directory is at the same level as app directory. You can change the upload location from the public folder to any folder by customizing the store_dir in your uploader class:
def store_dir
"#{Rails.root}/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
3. You also have to define cache_dir in your uploader class, otherwise it will still throw exception.
def cache_dir
"#{Rails.root}/tmp/uploads/cache/#{model.id}"
end