Пользовательская проверка не устанавливает откат с ложным возвратом - PullRequest
0 голосов
/ 14 ноября 2018

Допустим, я хочу поставить условие, чтобы не создавать новую запись, если она возвращает false. Моя пользовательская проверка не создает откат.

user.rb

class User < ApplicationRecord

    validate :test # my custom validation


    private

    def test
        # condition to return false
        false
    end
end

Должен ли я сделать любую другую конфигурацию предварительного просмотра? Спасибо-х.

1 Ответ

0 голосов
/ 14 ноября 2018

Пользовательская проверка должна добавить ошибку в массив ошибок для модели, например:

def test
  errors[:base] << "This user is invalid because ..."
end

Метод valid? проверяет наличие ошибок в массиве errors. Его не волнует возвращаемое значение из пользовательского валидатора.

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