1
使用ActiveRecord和Postgresql,創建!在新的創紀錄的業績不如預期,布爾真另存爲「T」ActiveRecord創建!使用Postgresql將布爾值保存爲't',但在更新/保存後更新爲1/0
SiteSetting.create!(:name => :enable_github, :value => true, :data_type => 5)
=> :value => 't'
但是,當我取的記錄,更改並保存它,值然後更改爲0虛假或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的?
啊,當然!它實際上指定爲文本,因爲它根據所存儲的設置保存多種數據類型。我被拋出的事實是,它在創建時如預期的那樣解釋布爾值,但在更新/保存時會不同。不用擔心,我們已經明確地設置了't'和'f'值。我只是好奇古怪的行爲。 – nverba 2013-03-04 13:40:51