This plugin when used in conjunction with the paperclip file attachment plugin allows you to attach more than one file to the model.
Ruby
Pull request Compare This branch is 1 commit ahead of heavysixer:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
generators/polymorphic_paperclip
lib
spec
MIT-LICENSE
README.textile
init.rb

README.textile

PaperclipPolymorph

This plugin allows users of the Paperclip plugin to easily share attached files between
multiple models. Essentially, polymorphic paperclip transparently saves the attached files
into a separate asset’s table and associates the the model to the asset through a polymorphic
attachings table.

The Paperclip Plugin must also be installed for PolyMorphicPaperclip to work.
Get paperclip here:
http://thoughtbot.com/projects/paperclip

Example

class PhotoEssay < ActiveRecord::Base
  acts_as_polymorphic_paperclip
end

You can also add a counter_cache to your model if you wish.


class Essay < ActiveRecord::Base
acts_as_polymorphic_paperclip :counter_cache => true
end

essay.assets.attach(asset)
essay.assets.asset.detach -or- @essay.assets.detach(asset)

Helper methods

There is one helper method so far used to determine if the asset can be displayed in a browser


@essay.assets.first.browser_safe? # => returns true or false

Copyright © 2008 PolymorphicPaperclip Mark Daggett, released under the MIT license