Hop*_*eam 63 ruby ruby-on-rails ruby-on-rails-3
我正在尝试保存一个没有一个字段集的记录 - 它在模型中具有验证数字.即使验证中不需要存在,它仍然会抛出该字段不是数字的错误.
验证:
validates :network_id, :numericality => true
Run Code Online (Sandbox Code Playgroud)
代码就是保存模型:
networks.each do |network|
network.url = network.raw_data.link
network.save!
end
Run Code Online (Sandbox Code Playgroud)
错误:
Validation failed: Network is not a number
Run Code Online (Sandbox Code Playgroud)
Uni*_*key 124
validates :network_id, :numericality => true, :allow_nil => true
Run Code Online (Sandbox Code Playgroud)
p.m*_*los 40
validates :network_id, :numericality => {:allow_blank => true}
Run Code Online (Sandbox Code Playgroud)
apn*_*ing 16
你应该用 allow_blank
validates :network_id, :numericality => true, :allow_blank => true
Run Code Online (Sandbox Code Playgroud)
ser*_*erg 11
在Rails 4(Ruby 2)中,您可以编写:
validates :network_id, numericality: { greater_than_or_equal_to: 0, allow_nil: true }
Run Code Online (Sandbox Code Playgroud)