做了一个简单的例子,系统在Windows平台上运行
1.上网下载ImageMagick-6.3.5-8-Q8-windows-dll.exe(当前的最新版本,找不到上google搜索)
2.安装rmagick,执行zip包里面的exe文件,同时把安装路径放到path环境变量里面去,否则可能会报CORE_RL_magick_.dll找不到的错误
3.安装file-column
ruby ./script/plugin install
http://opensvn.csie.org/rails_file_column/plugins/file_column/trunk
修改\vendor\plugins\trunk -> \vendor\plugins\file_column
重启aptana
4.在数据库中建立pictures数据表
复制内容到剪贴板
代码:
CREATE TABLE pictures
(
id int8 NOT NULL AUTO_INCREMENT PRIMARY KEY,
image varchar(255) NOT NULL,
created_on timestamp(11) NOT NULL,
updated_on timestamp(11) NOT NULL
)5.建立Picture的scaffold
generate scaffold Picture
4.修改model,并限制只能图片上传
复制内容到剪贴板
代码:
class picture< ActiveRecord::Base
validates_format_of :image,
:with=>/^.*(.jpg|.JPG|.gif|.GIF)$/,
:message => "你只能上传JPG或则GIF的图片文件"
file_column :image, :magick => {
:versions => { "thumb" => "50x50", "medium" => "640x480>" }
}
end 5.修改_form.rhtml
复制内容到剪贴板
代码:
<%= error_messages_for 'picture' %>
<!--[form:entry]-->
<p><label for="picture_image">Image</label><br/>
<%= file_column_field 'picture', 'image' %></p>
<!--[eoform:entry]--> 6.修改new.rhtml
<h1>New picture</h1>
复制内容到剪贴板
代码:
<%= start_form_tag 'create',:multipart => true%>
<%= render :partial => 'form' %>
<%= submit_tag "Create" %>
<%= end_form_tag %>
<%= link_to 'Back', :action => 'list' %> 7.修改show.rhtml
复制内容到剪贴板
代码:
<p>
<br>
原始大小:
<%= image_tag url_for_file_column 'picture', 'image' %>
<br>
thumb:
<%= image_tag url_for_file_column 'picture', 'image' ,'thumb'%>
<br>
medium:
<%= image_tag url_for_file_column 'picture', 'image' ,'medium'%>
</p>
<%= link_to 'Edit', :action => 'edit', :id => @picture %> |
<%= link_to 'Back', :action => 'list' %>
