开始也是下载
在项目目录下面运行
- script/plugin source http://svn.techno-weenie.net/projects/plugins
然后是安装
- script/plugin install acts_as_attachment
创建dvd_cover模型
- script/generate attachment_model dvd_cover
- create_table :dvd_covers do |t|
- t.column "dvd_id", :integer
- t.column "content_type", :string
- t.column "filename", :string
- t.column "size", :integer
- t.column "parent_id", :integer
- t.column "thumbnail", :string
- t.column "width", :integer
- t.column "height", :integer
- end
数据库重新rake下
- rake db:migrate
下面在把生成的模型DvdCover中的代码替换成这个(全部替换下就好了)
- class DvdCover < ActiveRecord::Base
- belongs_to :dvd
- acts_as_attachment :storage => :file_system, :max_size => 300.kilobytes, :content_type => :image
- validates_as_attachment
- end
让后下面的自己去写下吧(分开了反而看不清楚)
- ## app/controllers/dvd_covers_controller.rb
- class DvdCoversController < ApplicationController
- def index
- @dvd_covers = DvdCover.find(:all)
- end
- def new
- @dvd_cover = DvdCover.new
- end
- def show
- @dvd_cover = DvdCover.find params[:id]
- end
- def create
- @dvd_cover = DvdCover.create! params[:dvd_cover]
- redirect_to :action => 'show', :id => @dvd_cover
- rescue ActiveRecord::RecordInvalid
- render :action => 'new'
- end
- end
- ## app/views/dvd_covers/index.rhtml
- <h1>DVD Covers</h1>
- <ul>
- <% @dvd_covers.each do |dvd_cover| -%>
- <li><%= link_to dvd_cover.filename, :action => 'show', :id => dvd_cover %></li>
- <% end -%>
- </ul>
- <p><%= link_to 'New', :action => 'new' %></p>
- ## app/views/dvd_covers/new.rhtml
- <h1>New DVD Cover</h1>
- <% form_for :dvd_cover, :url => { :action => 'create' }, :html => { :multipart => true } do |f| -%>
- <p><%= f.file_field :uploaded_data %></p>
- <p><%= submit_tag :Create %></p>
- <% end -%>
- ## app/views/dvd_covers/show.rhtml
- <p><%= @dvd_cover.filename %></p>
- <%= image_tag @dvd_cover.public_filename, :size => @dvd_cover.image_size %>