In a Rails application using SQLite3, I would like to use the values ββfloat Float::INFINITY and -Float::INFINITY in a model with a floating point attribute. Performing INSERT Queries Using Model.create! this seems to work fine, since activerecord uses prepared statements in this case. However, when I try to update the record with foo.save , activerecord does not use the prepared stament and just puts the Infinity string directly into the query, resulting in
SQLite3::SQLException: no such column: Infinity
Is there a way around this or do I need to resort to using strings in the model / database?
Rails version 3.2.21 , SQLite3 version 1.3.10
Change . Now I changed the column type to string in the database migration and used
serialize :property, Float
to tell activerecord to store YAML-serialized floats in the database, which makes Float::INFINITY just fine.
source share