У меня есть две отдельные формы для изображения профиля и остальной информации профиля. Однако обе формы соответствуют модели профиля. Для некоторых из атрибутов профиля, у меня есть валидации как:рельсы проверяются в зависимости от формы
validates :title, presence: true
validates :zip_code, presence: true
Проблема в том, что валидация проверяется, когда кто-то пыталось загрузить изображение, которое я не хочу. При этом у меня также есть средство проверки изображений, поэтому я не хочу полностью исключать проверку, а только некоторые из них. Я думал о попытке получить доступ к параметру хэш в модели, но я не могу понять, как и я вполне уверен, что это плохая идея. Как я могу сделать правильные условия проверки? Я уже пытался это:
validates :title, presence: true, :unless => :picture_exists?
def picture_exists?
if self.pic
puts 'yo pic exist'
return true
else
puts 'yo no pic'
return false
end
end
, но он не работает, потому что он проверяет, имеет ли профиль картину, не имеют ли PARAMS картину. Поэтому, если кто-то уже сохранил изображение, они смогут обойти проверки, которые я не хочу. Я хочу, чтобы проверки были исключены, если они не используют форму отправки изображения.
Спасибо, номер 3 может работать, но есть способ действительно сделать это? Я не уверен, что понимаю ваш вопрос PS? – Philip7899
Я думаю, что номер 2 лучше (и тесно связан с 3). Возможно, это может пролить свет: http://stackoverflow.com/questions/8881712/skip-certain-validation-method-in-model – rlecaro2
@ Philip7899 О PS Я спрашиваю, почему все остальные проверки инициируют ошибки? Рассчитывает ли ваш поток приложений пример использования изображения профиля даже при отсутствии других полей (или независимо от того, что вы проверяете)? – rlecaro2