Вы утверждаете, что не хотите выдавать ошибку, поэтому можете сохранить.В этом случае просто используйте :before_validate
callback:
before_validate :check_file_dimensions
def check_file_dimensions
if attachment.dirty?
dimensions = Paperclip::Geometry.from_file(attachment.to_file(:original))
if dimensions.width < 100 || dimensions.height < 100
attachment.clear
end
end
end
Конечно, если вы хотите показать сообщение об ошибке пользователю, вам нужно будет передать его в экземпляре var или что-то еще (очевидно, вы можетене используйте ошибки или не сохраните).
Вложение. Грязное?строка выше - это небольшое улучшение, так что вы не будете постоянно проверять вложение каждый раз, когда сохраняете модель, а только при загрузке нового вложения.Это особенно важно, если вы храните файлы на S3.