假设我有一个Item
模型,它有一个布尔值onshelf
。
我希望通过执行类似onshelf
的操作,将true
值明确设置为self.onshelf = true
。但是我在“强大的Web开发”一书中了解到,不同的数据库存储布尔值的方式完全不同,我担心我的实践可能在将来破坏我的应用程序。
所以我想知道,如果我设置类似self.onshelf = true
的布尔值,Rails会执行类型转换(正确)吗?
我知道toggle!
方法也可以这样做,但我不喜欢立即保存结果。我想先设置每个属性,然后让after_save
决定。
谢谢!
答案 0 :(得分:1)
ActiveRecord应该将ruby布尔值转换为相应数据库中最接近的东西。
答案 1 :(得分:1)
ActiveRecord(及其数据库驱动程序)将以最适合您正在使用的特定数据库的方式存储布尔值。