Ответ 1
validates :network_id, :numericality => true, :allow_nil => 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
validates :network_id, :numericality => true, :allow_nil => true
validates :network_id, :numericality => {:allow_blank => true}
Вы должны использовать allow_blank
validates :network_id, :numericality => true, :allow_blank => true
В Rails 4 (Ruby 2) вы можете написать:
validates :network_id, numericality: { greater_than_or_equal_to: 0, allow_nil: true }