假設我有一個Item
模型,它有一個布爾值onshelf
。如何在保存到數據庫之前設置布爾值?
我想明確地設置onshelf
值true
通過做一些像self.onshelf = true
。但是我在書中學到了Agile Web Development,不同的數據庫存儲的布爾值完全不同,而且恐怕我的做法可能會在未來破壞我的應用。
所以我想知道,如果我設置像self.onshelf = true
布爾值,Rails會執行類型轉換(正確)?
我知道toggle!
方法也可以做到這一點,但我不喜歡它立即保存結果。我想先設置每個屬性,然後讓after_save
決定。
謝謝!
謝謝!但[這篇文章](http://stackoverflow.com/questions/7150069/rails-3-1-problem-saving-record-with-not-null-boolean-mysql-column-false-saves)給我一些關注。看來ActiveRecord將'false'解釋爲'null'。 –
這很有趣;也許這是司機的一個錯誤。這絕對是意想不到的。如果您有權訪問數據庫遷移,則可以將該列設置爲'not null default [對於數據庫爲假]。這實際上是我通常自己做的。 – seand