Forum: Ruby on Rails Cant get attachment_fu to store files outside of RAILS_ROOT

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
mjt (Guest)
on 2007-07-19 09:15
(Received via mailing list)
I am trying to get attachment_fu to store files in a separate
directory tree, so that when I use Capistrano to update the site the
'public/files' directory doesnt get left behind, thus losing the
previously uploaded files.

So I have redefined full_filename from attachment_fu to use '/usr/home/
sitename/files' as the tree root, then the model may add
a :path_prefix.

But it doesnt seem to work..... I say seem because attachment_fu IS
putting the file somewhere, as I can get it back on the display
page.....but where it is going is a mystery.

The files are NOT in public/* nor are they in /usr/home/sitename/files/
* .....

I have tried putting the full_filename rewrite in both the model
rfc.rb (which seems to be the logical place) and alternately in the
appropriate controller i.e.  rfc_controller.rb

I am still quite a newbie so me understanding what to test from the
console is approaching zero.

Am I approaching this from the correct direction, or is there some
other method to use?

JN_Coward (Guest)
on 2007-07-19 11:12
(Received via mailing list)
personally I always symlink the directories the files are uploaded to
from my current, to my shared with an after_update_code (adjust for

task :after_update_code do
  %w{avatars logo polaroids}.each do |share|
    run "ln -nfs #{shared_path}/#{share} #{release_path}/public/images/
  run "ln -nfs #{shared_path}/db/production.sqlite3 #{release_path}/db/
  run "ln -nfs #{shared_path}/index #{release_path}/index"

like that. I read this in a blog post somewhere, so credit is not

Imho, this is a better solution than uploading outside RAILS_ROOT,
since it also works in dev and is much less hackish.

fernando (Guest)
on 2007-08-17 22:35
(Received via mailing list)
I used a capistrano recipie to copy the uploaded files out of my
before updating the code then copied them all back afterwards.

This topic is locked and can not be replied to.