我有一個徽標模型,其名稱的字段爲string:default:boolean。我希望真正的值是唯一的,以便數據庫中只有一個項目可以一次設置爲true。如何在我的控制器中設置我的更新和新操作以將我的徽標的所有其餘值設置爲false?Rails 3應用程序模型如何確保一次只有一個布爾字段設置爲true
比方說,我有以下設置 在我的數據庫
型號標誌
名稱:串|默認值:boolean |
商品1 | true |
商品2 | false |
商品3 | false |
如果我將Item2默認值更改爲true,我希望它遍歷所有徽標,並將其餘部分設置爲false,所以只有一個是同時存在的,所以它看起來像這樣。
name:string |默認值:boolean |
商品1 | false |
商品2 | true |
商品3 | false |
感謝您提前提供任何幫助。
+1使用回調。 – 2013-03-30 21:22:40
更好地使用標準的sql爲id比較''id <>?''。如果默認的當前值也是真的,那麼確保你只關閉update_all。 – toxaq 2013-08-14 02:45:34
超棒的男人!它非常完美! – 2013-11-17 13:47:23