如何在保存到数据库之前设置布尔值?

时间:2011-11-23 05:23:05

标签: ruby-on-rails activerecord

假设我有一个Item模型,它有一个布尔值onshelf

我希望通过执行类似onshelf的操作,将true值明确设置为self.onshelf = true。但是我在“强大的Web开发”一书中了解到,不同的数据库存储布尔值的方式完全不同,我担心我的实践可能在将来破坏我的应用程序。

所以我想知道,如果我设置类似self.onshelf = true的布尔值,Rails会执行类型转换(正确)吗?

我知道toggle!方法也可以这样做,但我不喜欢立即保存结果。我想先设置每个属性,然后让after_save决定。

谢谢!

2 个答案:

答案 0 :(得分:1)

ActiveRecord应该将ruby布尔值转换为相应数据库中最接近的东西。

答案 1 :(得分:1)

ActiveRecord(及其数据库驱动程序)将以最适合您正在使用的特定数据库的方式存储布尔值。