Paperclip Validation
The most common work I need to do right after creating a Photo model using attachment_fu is to add constraints on the file types (content type) and sizes:
has_attachment :storage => :file_system,
:content_type => :image,
:max_size => 300.kilobytes
...
Paperclip does this in a similar way but instead of passing options to has_attached_file, it provides another two class methods:
has_attached_file :avatar,
:styles => { :medium => "200x200>", :thumb => "100x100>" }
validates_attachment_content_type :avatar,
:content_type => ['image/jpg', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/png', 'image/x-png'],
:message => "only image files are allowed"
validates_attachment_size :avatar,
:less_than => 1.megabyte, #another option is :greater_than
:message => "max size is 1M"
Both are very sweet.