Плагин Rails Paperclip - Проверки - PullRequest
       5

Плагин Rails Paperclip - Проверки

1 голос
/ 06 февраля 2010

Скрепка для плагинов rails поддерживает проверки в модели, такие как:

validates_attachment_size

Единственная проблема заключается в том, что использование этой проверки, по-видимому, вызывает проверку фактического вложения, где иногда его может не быть.

Если я проверяю следующее, какое условие: если я могу использовать, чтобы игнорировать проверку, если ее нет: документ присутствует? (имеется в виду, что пользователь отправил родительский объект без прикрепленного документа).

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

Родительским объектом является: note, поэтому в файле note.rb у меня есть:

has_attached_file :document

RDocs: dev.thoughtbot.com/paperclip/

Ответы [ 3 ]

2 голосов
/ 06 октября 2010

Вы можете передать :if => lambda { avatar.dirty? } после оператора проверки, если ваше вложение имеет имя avatar . Например:

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

0 голосов
/ 18 января 2011

Проверьте имя файла.

validates_attachment_size :document, :less_than => 5.megabytes, :if => !self.document_file_name.nil?
0 голосов
/ 06 февраля 2010

Вы можете добавить параметр :allow_nil => true, который пропустит проверку, если вложение отсутствует.

...