Paperclip with Hobo
Install this plugin alongside paperclip.
It adds two small things:
Automatically declares the fields for you, so you can just add
to your model, and then run the migration generator. All options are automatically passed on to paperclip's
Declares an input field
<def tag="input" for="Paperclip::Attachment"> <%= file_field_tag param_name_for_this, attributes %> </def>
(to get this, you need
<include src="paperclip" plugin="paperclip_with_hobo"/>in application.dryml)
Paperclip's official repository (https://github.com/thoughtbot/paperclip.git) has a bug (at the time of writing) that makes paperclip with hobo crash (see http://groups.google.com/group/hobousers/browse_thread/thread/752e154ff9725486).
But we can use a fork which is nicely patched. Add this to your Gemfile:
gem 'paperclip', :git => "git://github.com/jeanmartin/paperclip.git", :branch => "master"
Update your bundle:
rails plugin install git://github.com/tablatom/paperclip_with_hobo.git
paperclip_with-hobo taglib in your
<include src="paperclip" plugin="paperclip_with_hobo"/>
Add paperclip to one of your models:
Your default form for the model will now include the four attributes
has_attached_file. To actually allow uploading, you will
need to manually add the attachment field (
photo in the above example)
to your form, and don't forget to add the
<extend tag="form" for="MyModel"> <old-form merge multipart> <field-list: fields="photo, other-fields, ..."/> </old-form> </extend>
The name of the plugin is important. It doesn't have to be
paperclip_with_hobo but it will only work if this plugin loads after paperclip itself. Calling it
paperclip_something is a good way to ensure that.