所以这可能是个错误。
在我的模型中,在我的orders
表格中,我有一个名为active
的字段。它是一个布尔值,默认为true。在订单before_create
中,我正在做一些逻辑,如果发生XYZ,会将active
设置为false。
当XYZ发生时,它似乎会阻止记录一起保存(不会给我任何真正的错误),而不仅仅是将字段设置为false。
有什么想法吗?
答案 0 :(得分:10)
如果您在active = false
过滤器的末尾设置before_create
,则过滤器将返回false
并停止过滤器执行链,导致保存未完成。
如果您的代码中出现这种情况,只需在true
的末尾返回before_create
即可。您应该没问题。
答案 1 :(得分:0)
我有同样的问题,我必须在每个before_create回调结束时插入1 == 1或true。在回调定义中看起来很奇怪。