即使存在未设置为true,Railsvalidation也需要数字化
我试图保存一个没有一个字段集的logging – 在模型中有一个有效的数字性。 即使validation中不需要存在,它仍然抛出一个错误,该字段不是一个数字。
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 }