Every repository with this icon (
Every repository with this icon (
tree ce43091ba2f78e4cdfb168b4bcd325ffa288b0f0
parent fb08a5335a64585eed4b6c9e540f466d6fc9efc7
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Fri May 02 13:34:39 -0700 2008 | [austin.bain] |
| |
LICENSE | Fri Apr 18 09:08:33 -0700 2008 | [jyurek] |
| |
README | Wed Jun 04 12:06:13 -0700 2008 | [jpinnix] |
| |
README.rdoc | Fri Sep 12 11:27:52 -0700 2008 | [jyurek] |
| |
Rakefile | Tue Jul 08 14:37:48 -0700 2008 | [jyurek] |
| |
generators/ | Thu Aug 21 08:02:32 -0700 2008 | [jyurek] |
| |
init.rb | Fri Apr 18 09:08:54 -0700 2008 | [jyurek] |
| |
lib/ | Thu Nov 13 08:38:44 -0800 2008 | [Steve] |
| |
tasks/ | Wed Nov 05 13:32:14 -0800 2008 | [jyurek] |
| |
test/ | Fri Nov 14 14:45:31 -0800 2008 | [jyurek] |
Paperclip
Paperclip is intended as an easy file attachment library for ActiveRecord. The intent behind it was to keep setup as easy as possible and to treat files as much like other attributes as possible. This means they aren’t saved to their final locations on disk, nor are they deleted if set to nil, until ActiveRecord::Base#save is called. It manages validations based on size and presence, if required. It can transform its assigned image into thumbnails if needed, and the prerequisites are as simple as installing ImageMagick (which, for most modern Unix-based systems, is as easy as installing the right packages). Attached files are saved to the filesystem and referenced in the browser by an easily understandable specification, which has sensible and useful defaults.
See the documentation for the has_attached_file method for options.
Usage
In your model:
class User < ActiveRecord::Base
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
In your migrations:
class AddAvatarColumnsToUser < ActiveRecord::Migration
def self.up
add_column :users, :avatar_file_name, :string
add_column :users, :avatar_content_type, :string
add_column :users, :avatar_file_size, :integer
end
def self.down
remove_column :users, :avatar_file_name
remove_column :users, :avatar_content_type
remove_column :users, :avatar_file_size
end
end
In your edit and new views:
<% form_for :user, @user, :url => user_path, :html => { :multipart => true } do |form| %>
<%= form.file_field :avatar %>
<% end %>
In your controller:
def create
@user = User.create( params[:user] )
end
In your show view:
<%= image_tag @user.avatar.url %> <%= image_tag @user.avatar.url(:medium) %> <%= image_tag @user.avatar.url(:thumb) %>




