如何在rails 3中validation“file_fields”

我是rails的新手,请指导我。

我想validation“file_field”以进行图片上传。 只需jpg / png / gif即可上传,特定尺寸如最大尺寸(500×500)

这是我的_form.html.erb

 {:multipart => true} ) do |f| %>  

prohibited this photo from being saved:



'115x20' %>

我试图像这样进行validation

 class Photo  false, :with => %r{\.(gif|jpg|png)$}i, :message => 'must be a URL for GIF, JPG ' + 'or PNG image.' end 

而错误就是这样的

 undefined method `upload' for # 

我错过了什么吗?

如果你使用任何照片上传插件,你会发现它的validation方法

例如,使用papaerclip。 你会找到

 validates_attachment_size :upload, :less_than => 2.megabytes 

并且还要更改您的代码

 <%= file_field 'upload', 'datafile'%> to <%= f.file_field :upload, 'datafile'%> 

你使用哪个文件上传gem? 如果您使用的是Carrierwave,请查看此链接https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Validate-attachment-file-size