it-swarm.com.ru

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

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

Проверка:

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
60
Hopstream
validates :network_id, :numericality => true, :allow_nil => true
119
Unixmonkey
    validates :network_id, :numericality => {:allow_blank => true}
39
p.matsinopoulos

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

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

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

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

Вы также можете написать так ...

validates_numericality_of :network_id, allow_nil: true
0
thedanotto