Подтвердить что ты не робот

Для проверки правильности Rails требуется численная численность, даже если для присутствия не установлено значение true

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

Validation:

validates :network_id,    :numericality => true

Код для сохранения модели:

networks.each do |network|
  network.url = network.raw_data.link
  network.save!
end

Ошибка:

Validation failed: Network is not a number
4b9b3361

Ответ 1

validates :network_id, :numericality => true, :allow_nil => true

Ответ 2

    validates :network_id, :numericality => {:allow_blank => true}

Ответ 3

Вы должны использовать allow_blank

validates :network_id,    :numericality => true, :allow_blank => true

Ответ 4

В Rails 4 (Ruby 2) вы можете написать:

validates :network_id, numericality: { greater_than_or_equal_to: 0, allow_nil: true }