Add comments about the IPAddr hack

This commit is contained in:
Neil Lalonde
2013-11-05 11:24:13 -05:00
parent e45ab7d4a8
commit 8724b2e2b6
2 changed files with 11 additions and 4 deletions

View File

@ -4,8 +4,15 @@ class IpAddressFormatValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
if rails4?
# In Rails 4, ip_address will be nil if an invalid IP address was assigned.
# In Rails 4.0.0, ip_address will be nil if an invalid IP address was assigned.
# https://github.com/jetthoughts/rails/commit/0aa95a71b04f2893921c58a7c1d9fca60dbdcbc2
# BUT: in Rails 4.0.1, validators don't get a chance to
# run before IPAddr::InvalidAddressError is raised.
# I don't see what broke it in rails 4.0.1...
# So this validator doesn't actually do anything anymore.
# But let's keep it in case a future version of rails fixes the problem and allows
# validators to work on inet and cidr columns.
if record.ip_address.nil?
record.errors.add(attribute, :invalid)
end