I am using attachment_fu to allows users to upload their own images.
However I want to store them outside of my applications root. Then,
when I 'cap deploy', I wont wipe them all. I can then
use :after_update_code to set a symlink and just update that with each
deployment.
Does anyone know of a solution?
Rails seems to always look inside 'public/images' and I know that you
can use the plugin 'multi-asset-locations' to set a particular
asset_host for images but I didn't quite understand how:
:images => "http://images.domain.com"
relates to a particular folder on the site??
Any nods in the right direction would be much appreciated.
Cheers,
Tim
def get_asset
asset = FileAsset.find(params[:id])
disposition = 'attachment'
if asset.mime_type == 'image/x-png' or
asset.mime_type == 'image/gif' or asset.mime_type == 'image/jpeg' :
disposition = 'inline'
end
send_file asset.file_path, :type =>
asset.mime_type, :disposition => disposition
end
task :before_deploy do
run "cp -r /home/domainName/appName/current/trunk/public/
image_uploads/* /home/domainName/image_backup/"
end
task :after_deploy, :roles => [:app, :db, :web] do
run "cp -r /home/domainName/image_backup/* /home/domainName/appName/
current/trunk/public/image_uploads/"
run "rm -rf /home/domainName/image_backup/*"
end
Hope someone finds that useful.