开始也是下载
在项目目录下面运行
然后是安装
创建dvd_cover模型
数据库重新rake下
下面在把生成的模型DvdCover中的代码替换成这个(全部替换下就好了)
让后下面的自己去写下吧(分开了反而看不清楚)
在项目目录下面运行
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下
[b][color=red][size=x-large]rake db:migrate[/size][/color][/b]
下面在把生成的模型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 %>