1

rails 插件回形针支持模型验证,例如:

validates_attachment_size

唯一的问题是,使用此验证似乎会强制验证实际附件,有时可能没有附件。

如果我正在验证以下内容,如果没有 :document 存在,我可以使用什么条件 :if 来忽略验证?(意味着用户提交了没有附加文档的父对象)。

validates_attachment_size :document, :less_than => 5.megabytes, :if => ???

父对象是一个:note,所以在 note.rb 文件中我有:

has_attached_file :document

RDocs:dev.thoughtbot.com/paperclip/

4

3 回答 3

2

:if => lambda { avatar.dirty? }假设您的附件名为avatar ,您可以在验证语句之后传入。例如:

validates_attachment_size :avatar, :less_than => 500.kilobytes, :if => lambda { avatar.dirty? }

于 2010-10-05T20:36:29.977 回答
0

:allow_nil => true如果附件不存在,您可以添加将跳过验证的选项。

于 2010-02-06T19:36:03.033 回答
0

检查文件名。

validates_attachment_size :document, :less_than => 5.megabytes, :if => !self.document_file_name.nil?
于 2011-01-18T14:43:39.117 回答