Я пытаюсь прочитать столбец значений String из моей БД. Я пытаюсь преобразовать их в поплавки. Я написал следующий метод, чтобы сделать это
def initialize (db_listings)
db_listings.each do |listing|
name = listing.name
index = listing.id
lat_string = listing.latitude
long_string = listing.longitude
puts "name = #{name}"
puts "index = #{index}"
puts "Converting #{lat_string} to float"
puts "Converting #{long_string} to float"
if(lat_string == nil || long_string == nil )
lat_float = Float(9999)
long_float = Float(9999)
else
lat_float = Float(lat_string)
long_float = Float(long_string)
end
puts "Now printing floats"
puts lat_float
puts long_float
end
end
Но я получаю следующую ошибку:
Throwing an error:ArgumentError: invalid value for Float(): ""
Это потому, что он обнаружил пустую запись для этого столбца.
Мой вопрос: почему оператор if else в моем методе не уловил его?
Как настроить мой метод для пустых / недействительных значений в базе данных?
Спасибо