我有一个徽标模型,其名称的字段为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