2013-02-11 69 views
0

我是新来的Ruby on Rails的(轨道3)。我有一个三个字段的表单,在这三个字段中,一个字段是上传文件(rar/tar/zip)。我想知道,以验证允许用户的方式(服务器端)这样的形式: -Ruby on Rails的:如何验证具有表单文件上传领域与其他领域

1. Fill in all three fields. 
2. Uploaded file should be either rar/tar/zip. 
3. Uploaded file should not exceed 2MB in size. 

回答

1

U可以使用回形针宝石上传的文件。

class User < ActiveRecord::Base 
    attr_accessible :avatar 
    has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" } 
end 

有像

validates_attachment :avatar, :presence => true, 
    :content_type => { :content_type => "image/jpg" }, 
    :size => { :in => 0..10.kilobytes} 

看到https://github.com/thoughtbot/paperclip更多信息的验证。

+0

我需要添加哪些宝石? – neeraj 2013-02-11 06:07:11

+0

回形针宝石。使用上面的链接。 – 2013-02-11 06:09:27

+0

是否有可能通过添加一些创业板文件...像 – neeraj 2013-02-11 06:11:15

0

Validating Presence

Validating format

对于大小,我认为你可以弄清楚从Rails的东西出来指导或只是谷歌搜索。

为了澄清,在模型中,用户正在更新,你想要把验证的存在(与该链接概述)的三个属性。然后对zip文件字段进行格式验证。同样的大小,当你找到或创建一个适当的验证。

+0

断开的链接。你能更新他们吗? – Sinstein 2015-06-30 08:55:57

1

您可以使用此代码,用这个你必须使用paperclip gem

validates_attachment_size :upload, :less_than => 2.megabytes, 
        :with => %r{\.(rar|tar|zip)$}i 
+0

加入到这一点我的模型后,我得到了错误“未定义的方法'validates_attachment_size'” – neeraj 2013-02-11 06:02:48

+0

@neeraj我错过了打字,你必须使用回形针创业板这个..回形针宝石是最好的文件上传和其所有要求 – 2013-02-11 06:06:16

+0

我可以通过添加一些代码到我的创业板文件中添加该创业板...就像“创业板回形针”? – neeraj 2013-02-11 06:12:54