# Attachment\_fu questions

**URL:** <https://www.ruby-forum.com/t/attachment-fu-questions/112890>\
**Category:** Rails\
**Created:** [August 24, 2007, 6:18am UTC](https://www.ruby-forum.com/t/attachment-fu-questions/112890 "2007-08-24T06:18:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrisolsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c6cbf5/32.png) [@chrisolsen](https://www.ruby-forum.com/u/chrisolsen)\
**Post date:** [August 24, 2007, 6:18am UTC](https://www.ruby-forum.com/t/attachment-fu-questions/112890/1 "2007-08-24T06:18:38Z")

</div>

I am having a hard time saving the uploaded files to the directory of  
my choice.

There is the method full\_filename() that is said to be the one to  
override to specify a custom path, but when I do so the file is not  
saved

```auto
#Here is the original method in the file_system_backend.rb file

# Overwrite this method in your model to customize the filename.
        # The optional thumbnail argument will output the thumbnail's
filename.
        def full_filename(thumbnail = nil)
          file_system_path = (thumbnail ? thumbnail_class :
self).attachment_options[:path_prefix].to_s
          File.join(RAILS_ROOT, file_system_path,
*partitioned_path(thumbnail_name_for(thumbnail)))
        end
```

I created a custom full\_filename method in my Picture class, which was  
called on to generate the file name for the uploaded file, but when  
this method was used the file was not saved in the directory that I  
specified.

Here is the updated method within the Picture class

```auto
def full_filename(thumbnail = nil)
    file_system_path = (thumbnail ? thumbnail_class :
self).attachment_options[:path_prefix].to_s
    File.join(RAILS_ROOT, "pictures", thumbnail_name_for(thumbnail))
  end
```

I admit I am a little confused on how this method overrides the the  
one in the file\_system\_backend.rb file (I will have to read up on  
this), but for starters I just want to figure out why the files are  
not saving.

There is also an issue in the thumbnails not being created. Sometimes  
they are created as they should be, then after testing things at a  
later time, they are no longer saved.

The last thing that I am wondering about, is what is the common way to  
relate the images/files. I would think just to create an additional  
foreign key column in the table relating back to the parent table, but  
if that is the case I would have to create a couple of methods in the  
parent class, in this case Member, to retrieve a list of the  
thumbnails. That just seems like to much extra code for ruby, so I am  
thinking that there may already be something that is provided that  
will do this.

Thanks for the help.

---

<div class="post-metadata">

**Author:** ![chrisolsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c6cbf5/32.png) [@chrisolsen](https://www.ruby-forum.com/u/chrisolsen)\
**Post date:** [August 24, 2007, 7:11am UTC](https://www.ruby-forum.com/t/attachment-fu-questions/112890/2 "2007-08-24T07:11:42Z")

</div>

On 8/24/07, chris [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I am having a hard time saving the uploaded files to the directory of  
> my choice.

attachment\_fu has a :path\_prefix =\> “/path/to/attachments/directory”  
option which allows you to set the directory of the uploaded files. I  
can’t remember off hand if it allows you to store them in a directory  
anywhere on the file system, it may require the directory to be under  
/public…

> There is also an issue in the thumbnails not being created. Sometimes  
> they are created as they should be, then after testing things at a  
> later time, they are no longer saved.

I’ve never had inconsistencies in saving thumbnails… For me they  
either save or they don’t…

> The last thing that I am wondering about, is what is the common way to  
> relate the images/files. I would think just to create an additional  
> foreign key column in the table relating back to the parent table, but  
> if that is the case I would have to create a couple of methods in the  
> parent class, in this case Member, to retrieve a list of the  
> thumbnails. That just seems like to much extra code for ruby, so I am  
> thinking that there may already be something that is provided that  
> will do this.

I use single table inheritance with a different class for each image  
type, which specifies varying dimensions for each image. A better way  
of doing it is to use the polymorphic associations, although the  
restriction of doing it this way is that you must specify all the  
different image dimensions in one file, so you may get some  
superfluous image resizes that you don’t necessarily need (ie if you  
need an image size of 64x64 pixels for a Product and an image of  
128x128 for an Article, you’ll get both sizes for each object, rather  
than a single image for a product and a single one for an Article).

If you’re interested in the polymorphic way, you should definitely  
check out this sample application:

[http://blog.caboo.se/articles/2007/4/11/sample-rails-application](http://blog.caboo.se/articles/2007/4/11/sample-rails-application)

Adam
