图片上传插件Acts As Attachment

开始也是下载
在项目目录下面运行

Ruby代码 复制代码  收藏代码
  1. script/plugin source http://svn.techno-weenie.net/projects/plugins  


然后是安装

Ruby代码 复制代码  收藏代码
  1. script/plugin install acts_as_attachment  


创建dvd_cover模型

Ruby代码 复制代码  收藏代码
  1. script/generate attachment_model dvd_cover   
  2.   
  3.   
  4.     create_table :dvd_covers do |t|   
  5.       t.column "dvd_id":integer  
  6.       t.column "content_type":string  
  7.       t.column "filename":string        
  8.       t.column "size":integer  
  9.       t.column "parent_id",  :integer    
  10.       t.column "thumbnail":string  
  11.       t.column "width":integer     
  12.       t.column "height":integer  
  13.     end  



数据库重新rake下

Ruby代码 复制代码  收藏代码
  1. rake db:migrate  



下面在把生成的模型DvdCover中的代码替换成这个(全部替换下就好了)

Ruby代码 复制代码  收藏代码
  1. class DvdCover < ActiveRecord::Base   
  2.   belongs_to :dvd  
  3.   acts_as_attachment :storage => :file_system:max_size => 300.kilobytes, :content_type => :image  
  4.   validates_as_attachment   
  5. end  



让后下面的自己去写下吧(分开了反而看不清楚)

Ruby代码 复制代码  收藏代码
  1. ## app/controllers/dvd_covers_controller.rb   
  2. class DvdCoversController < ApplicationController   
  3.   def index   
  4.     @dvd_covers = DvdCover.find(:all)   
  5.   end  
  6.   
  7.   def new  
  8.     @dvd_cover = DvdCover.new  
  9.   end  
  10.   
  11.   def show   
  12.     @dvd_cover = DvdCover.find params[:id]   
  13.   end  
  14.   
  15.   def create   
  16.     @dvd_cover = DvdCover.create! params[:dvd_cover]   
  17.     redirect_to :action => 'show':id => @dvd_cover  
  18.   rescue ActiveRecord::RecordInvalid   
  19.     render :action => 'new'  
  20.   end  
  21. end  
  22.   
  23. ## app/views/dvd_covers/index.rhtml   
  24. <h1>DVD Covers</h1>   
  25.   
  26. <ul>   
  27. <% @dvd_covers.each do |dvd_cover| -%>   
  28.   <li><%= link_to dvd_cover.filename, :action => 'show':id => dvd_cover %></li>   
  29. <% end -%>   
  30. </ul>   
  31.   
  32. <p><%= link_to 'New':action => 'new' %></p>   
  33.   
  34. ## app/views/dvd_covers/new.rhtml   
  35. <h1>New DVD Cover</h1>   
  36.   
  37. <% form_for :dvd_cover:url => { :action => 'create' }, :html => { :multipart => true } do |f| -%>   
  38.   <p><%= f.file_field :uploaded_data %></p>   
  39.   <p><%= submit_tag :Create %></p>   
  40. <% end -%>   
  41.   
  42. ## app/views/dvd_covers/show.rhtml   
  43. <p><%= @dvd_cover.filename %></p>   
  44. <%= image_tag @dvd_cover.public_filename, :size => @dvd_cover.image_size %>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值