file_column vs. acts_as_attachment

We use file_column in a few apps but it doesn't seem to be actively developed any more.

I know Rick has acts_as_attachment that seems to do everything file_column does (or at least everything we're doing).

Is acts_as_attachment the future of easily handling file uploads in Rails? What are you guys (the list) doing? What's working well?

Curious to hear about comparisons or especially from folks that have switched from file_column to acts_as_attachment.

Cheers, H

I’d be interested in this as well… I use file_column a lot, especially with image resizing / manipulation.

I’ve been wondering the same thing lately…

Yeah I dropped file_colun myself a while ago and now I use acts_as_attachment when i need a good file upload plugin. I won’t go back to file_column.

-Ezra

@Ezra:

What really stuck out that made you switch?

it seems we’re all a little bit interested in this

Acts as attachment has a nicer interface IMHO. The code is very clean and I have found it much easier to extend when I need to. It also allows for storing files in the db or the filesystem or both in the same app. Sometimes certain things are great for the db like avatars but most things are better stored on the fs. It is nice to be able to have both. AAA allows for all the thumbnailing and RMagick stuff you want to use as well.

  The filecolumn code base has gotten a bit bloated and harder to alter for custom purposes. And I have found the mime type handling in aaa to be better. I built my own custom RMagick extensions to the aaa and it was much easier to do with aaa then it would be with filecolumn. Of course Rick Olson wrote most of the code for aaa and as we all know, his code is some of the best out there in railsland.

  Both plugins in the end pretty much accomplish the same thing. I personally prefer the API and flexibility of acts_as_attachment over file_column. As soon as you need to step out of the comfort and customize things is where aaa really shines. When I was using file_column and needed to bend it to my will and actaully dug into the code was when decided aaa was the better solution.

-Ezra

I'm glad to see this is finally discussed, and that there is an alternative.

I see so many people ask for an upload solution, and everyone says to use file_column, but I've had nothing but trouble. Because of my problems, I notice a lot more when others post f_c issues to this list and the attitude seemed to be that since it works for the majority, we must be doing something wrong!

FYI - I did finally get it work, on OS X only. The issues with windows and the GNU 'file' command were too much of a pain.

Thanks Ezra for the mini-review!

- Nic

I didn't get that far on Windows, I did have issues with xMagick on OS X, but with patience and methodically changing and recompiling, I got it to work. I had to make sure to remove my old 'image' directories that f_c had created before as well......

- Nic.

acts_as_attachment + rmagick isn’t going to work well on Windows either unless you drop back to Ruby 1.8.2… rmagick still does not work with the windows build of ruby 1.8.4.

Whoa… looks like i might have spoken too soon… there appears to be a new version of rmagick for windows! I’ll be testing that out!

Were you having f_c problems or problems installing rMagick and ImageMagick? I would say those latter ones are the beast.

Timothy Johnson

I see that a lot with Acts as Attachment installs too. If someone wants to write minimagick layer, I'd be open to including that in Acts as Attachment. Currently I do all my operations in a with_image block.

with_image binary_data do |img|   ... end

I don't know how close the minimagick api is to the Magick::Image class.

But, I don't know what use this is for folks that can't get imagemagick itself to install.

I’ve used RMagick with ruby 1.8.4 and AAA without any trouble at all on XP.

I must say (and it’s probably not Rick’s fault, because his code is very clean, a lot cleaner than filecolumn) using acts_as_attachment on a a2hosting running 64-bit CentOS kills your app. It dies with a bug segmentation fault when trying to start it up. No problems with filecolumn on a2hosting. On the other hand, I’m using acts_as_attachment on several other VPS’s without any problem and stay away from using filecolumn if possible.

Best regards

Peter De Berdt

He Peter,

have you read the comment at the bottom of: http://technoweenie.stikipad.com/plugins/show/Acts+as+Attachment

There it says: When using a shared host such as a2hosting, make sure you freeze the gems using "rake rails:freeze:gems" when using acts_as_attachment or your application will die with a segmentation fault error.

just for you rinfo