1

将 ActiveRecord 与 Postgresql 一起使用,创建!按预期生成新记录,布尔值 true 保存为“t”

SiteSetting.create!(:name => :enable_github, :value => true, :data_type => 5)

=> :value => 't'

但是当我获取记录、更改并保存它时,如果我再次将其设置为 true,则该值会更改为 0 表示 false 或 1 表示 true。

setting = SiteSetting.where(:name => :enable_github).first
setting.value = false
setting.save

=> :value => 0

接着

setting.value = true
setting.save

=> :value => 1

为什么驱动程序将值更新为整数而不是't'或'f',因为它应该为postgresql?

4

1 回答 1

1

您可能已在迁移中value指定integer。应改为boolean.

于 2013-03-04T04:58:19.463 回答