Работа с консолью рельсов, почему следующие find_by
, возвращающий нуль?find_by не ведет себя так, как ожидалось
2.0.0 (main):0 > Location.last
Location Load (0.8ms) SELECT "locations".* FROM "locations" ORDER BY "locations"."id" DESC LIMIT 1
=> #<Location id: 92, district: nil, address: "8026 S KEDZIE AVE", city: "CHICAGO", state: "IL", zip: 60652, website: nil, location: nil, latitude: 41.7474748619454, longitude: -87.7023800625442, location_type: "fire_station">
2.0.0 (main):0 > lat = Location.last.latitude
Location Load (0.8ms) SELECT "locations".* FROM "locations" ORDER BY "locations"."id" DESC LIMIT 1
=> 41.7474748619454
2.0.0 (main):0 > Location.find_by(latitude: lat)
Location Load (0.8ms) SELECT "locations".* FROM "locations" WHERE "locations"."latitude" = 41.7474748619454 LIMIT 1
=> nil
Первоначально я думал, что это что-то делать с Sqlite, поэтому я перешел на Postgres, но по-прежнему дают тот же результат. Кто-то другой, работающий над каким-то проектом, побежал тем же самым find_by
, что дало правильный результат. Что происходит с моей системой, что это происходит?
вопросы округления, скорее всего. Поплавки, как известно, неточны. – sevenseacat
@sevenseacat Как я могу получить к нему доступ точно? – rudolph9
Что такое тип данных в вашей базе данных? –