RoR: вопрос проверки модели - PullRequest
4 голосов
/ 02 октября 2008

У меня есть базовая модель ActiveRecord, в которой у меня есть два поля, которые я хотел бы проверить. Требование заключается в том, что хотя бы одно из полей должно иметь значение. Оба могут иметь значения, но по крайней мере одному нужно значение.

Как мне выразить это с

validates_presence_of 

заявления? Например:

validates_presence_of :main_file
validates_presence_of :alt_file

Я не хочу, чтобы генерировалась ошибка, если только одна из них пуста, только если обе пусты.

Ответы [ 2 ]

5 голосов
/ 02 октября 2008
validates_presence_of :main_file, :if => Proc.new { |p| p.alt_file.blank? }
validates_presence_of :alt_file, :if => Proc.new { |p| p.main_file.blank? }
3 голосов
/ 02 октября 2008

меняется .nil? на .blank? делает трюк!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...