file_column 使用(rails 2.35)
1.ruby script/plugin install http://opensvn.csie.org/rails_file_column/plugins/file_column/trunk/
在model中设定
class Photo < ActiveRecord::Base
validates_format_of :image,
:with=>/^.*(.jpg|.JPG|.gif|.GIF)$/,
:message => "你只能上传JPG或则GIF的图片文件"
file_column :image, :magick => {
:versions => { "thumb" => "50x50", "medium" => "640x480>" }
}
end
2.修改上传表单可上传文件<% form_for(@photo,:html=>{:multipart=>'true'}) do |f| %>
3.修改上传表单项为
<%= file_column_field 'photo', 'image' %>
4.为了使上传的文件随机命名修改file_column.rb 中
def self.sanitize_filename(filename)
filename = File.basename(filename.gsub("\\", "/")) # work-around for IE
filename.gsub!(/[^a-zA-Z0-9\.\-\+_]/,"_")
filename = "_#{filename}" if filename =~ /^\.+$/
filename = "unnamed" if filename.size == 0
time = Time.now.to_i
filename = time.to_s + '.' + File.basename(filename).split('.').last
filename
end
5.显示图片用url_for_file_column
<%= image_tag url_for_file_column 'photo', 'image' %>
6.更新也要对表单进行修改
<% form_for(@photo,:html=>{:multipart=>'true'}) do |f| %>
一。file_column问题(rails 2.35)
undefined method `image_relative_path' for nil:NilClass
把<% @photos.each do |photo| %>改为
<% for photo in @photos %>..
本方法貌似不管用,网上找的解决方案是
<% @photos.each do |photo| %> 后面加上
<% @photo = photo %>
解决了我的问题
2. =====================遇到uninitialized constant FileColumn::ClassMethods::Inflector 错误修改如下
my_options = FileColumn::init_options(options,
Inflector.underscore(self.name).to_s,attr.to_s)
改为:
my_options = FileColumn::init_options(options,
ActiveSupport::Inflector.underscore(self.name).to_s, attr.to_s)
不过发现file_column上传失败还是会把文件放下tmp文件夹下,不知道有没有办法不让文件放tmp下,要不越来越大了!
还有其他一些报错的解决方法,Google一下即可,不在一一列举。
个人意见:
如果遇到File_cloumn 已经可以上传文件或者图片但是在一些显示上总是报错,不妨抛弃其给出的方法,自己来定制一些方法,下面这篇文章给出了一些参考:
http://www.iteye.com/topic/198778
分享到:
相关推荐
Pandas之drop_duplicates:去除重复项 方法 DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) 参数 这个drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复行。...
Sample_05_03/ButtonKey.aspx DataList控件中使用按钮 Sample_05_03/DatalistCtl.aspx DataList控件 Sample_05_03/dlClick.aspx DataList控件的事件 Sample_05_03/DLColumn.aspx DataList...
//获取已使用行数 long GetUsedRows(); //获取已使用列数 long GetUsedColumns(); //获取已使用区域的起始行,从1开始 long GetStartRow(); //已使用区域的起始列,从1开始 long GetStartCloumn(); //获取...
在使用ElementUI构建前端界面时,经常会遇到一些与组件交互和样式相关的问题。本文将深入探讨如何解决在切换ElementUI的tab页后,`el_table`的固定列下方出现多余线条的问题,以及与之相关的固定列显示不全的场景。 ...
delphi TRzListView 的用法,添加 cloumn、item。
在上述描述中,我们看到如何利用EXTJS的Grid组件来构造一个矩阵视图,通常用于数据展示,比如流量矩阵。下面我们将深入探讨EXTJS构建矩阵表格的步骤和涉及的技术点。 1. **创建数据存储(Store)**: - `TMstore` ...
埃迪夫比较两个文件之间Excel的不同列##用法由id cloumn java -jar target/ecdiff-0.1-SNAPSHOT.jar -a "src/test/resources/test_1.xlsx" -b "src/test/resources/test_2.xlsx" -aid 0 -bid 0 -ai 1 -bi 1按行 ...
颤振学习有状态的班级模板import 'package:flutter/material.dart';class AudioPlayerTest ... }}登录系统演示 如何在所有TextField中使用样式带容器的TextField flex在cloumn中的使用将一页导航到另一页重点关注Te
以下是自己扩展的FieldSet: 代码如下: ME.Base.FieldSet = Ext.extend(Ext.form.FieldSet, { layout: ‘column’, fieldSetItems: [], autoScroll:false, defaults: { layout: ‘form’, labelAlign: ‘right’, ...
在提供的压缩包文件中,`TreeTestApp`很可能是演示程序的主程序,它可能包含了一个使用了多列树性列表视图控件的实例,用于展示如何使用和操作这种控件。`CommonTools`可能是一个工具类库,包含了对控件操作的一些...
原云原生专题的仓库已经全部下线目前正在准备专栏撰写,期间即将...结束语对于专题突然下线,而引起小伙伴学习断档的问题,这里先说一下抱歉哈。全新的kubernetes专题,我们年后见。最后提前祝各位:新年快乐,身体健康