以我的形式
<%= label_tag("file", "Attachment:") %><%= file_field_tag "uploadfile" %>
在我的模型中,我想写这个
validate :validates_uploadfile
def validates_uploadfile(file)
max_size = 2048
errors.add(:uploadfile, "File size exceeds limitation") if file.size > max_size
end
在我的 Controller 中,我可以这样称呼吗?
validates_upload_file(params[:uploadfile])
有没有一种方法可以在上传之前验证文件上传(不是通过使用javascript或通过查看文件扩展名)
谢谢您的帮助
UPD
validate :uploadfile_validation, :if => "uploadfile?"
def uploadfile_validation
errors[:uploadfile] << "should be less than 1MB" if uploadfile.size > 1.megabytes
end
最佳答案
这是我的尺寸验证代码(我将CarrierWave用于上传)。
validate :picture_size_validation, :if => "picture?"
def picture_size_validation
errors[:picture] << "should be less than 1MB" if picture.size > 1.megabytes
end
干杯。