Модель рельсов условной проверки - PullRequest
0 голосов
/ 22 июля 2011

Я проверяю поля в модели, используя:

validates :first_name, :presence => true, :if => :should_validate?
validates :last_name, :presence => true, :if => :should_validate?
...

В модели есть много полей, которые необходимо проверить, и не очень хорошо, если я укажу: if => метод для каждого из них.

Возможно ли встраивать эти валидирующие методы в блок вместо того, чтобы давать: if => метод для каждого?

Ответы [ 3 ]

1 голос
/ 22 июля 2011

Конечно, вы можете написать свой собственный валидатор, но если вы проверяете только присутствие, это может помочь:

validates :first_name, :last_name, :presence => true, :if => :should_validate?
0 голосов
/ 22 июля 2011

На каких условиях вам нужно это проверить?Если вам это не нужно, не могли бы вы просто оставить эту строку?В противном случае вы могли бы просто проверить определенные действия, поэтому вам не нужно оценивать should_validate ?, например:

validates :first_name, :last_name, :presence => true, :only => [:create, :update]
0 голосов
/ 22 июля 2011

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

...