我正在尝试保存一个没有一个字段集的记录 - 它在模型中具有验证数值。即使验证中不需要存在,它仍然会抛出该字段不是数字的错误。
验证:
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 }
你也可以这样写...
validates_numericality_of :network_id, allow_nil: true