Folders and files outside of ROOT

Hi, My problem is similar to: http://groups.google.co.uk/group/rubyonrails-talk/browse_thread/thread/783a7821b13517ca/8c9543e2e6e79472?lnk=gst&q=outside+the+root&rnum=2&hl=en

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

What we did is wrote a simple controller that handles the mechanics
of reading a binary file and pumping it out as the response.

  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

Just for other people suffering the same problem. I used a hack in the end to copy all the images from a folder in my application to one outside the application. THEN updated the code, THEN copied it back. All done using capistrano tasks:

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.