Using infinite floats in Ruby on Rails -
in rails application using sqlite3 i'd use float values float::infinity , -float::infinity in model floating point attribute. running insert queries using model.create! seems work fine, since activerecord uses prepared statements in case. however, when try update record using foo.save, activerecord doesn't use prepared stament , puts string infinity right in query, resulting in
sqlite3::sqlexception: no such column: infinity is there way work around or need resort using strings in model/database?
rails version 3.2.21, sqlite3 version 1.3.10
edit. changed column type string in database migration , use
serialize :property, float to tell activerecord store yaml-serialized floats in database, allowing store float::infinity fine.
it's because float::infinity in rails defined 1.0/0, sqlite3 doesn't know it. can use big number define infinity 9e999 replacement value you'll saving database
Comments
Post a Comment