如果我在回调中分配布尔值,它是否会影响交易?我怀疑false的赋值也会在下面的情况下返回self.assigned,因此会破坏我的事务。是这种情况吗?
before_create :set_default_values
def set_default_values
self.finished = false
self.assigned = false
end
答案 0 :(得分:2)
是的,这确实会影响交易。以下是官方Rails文档中的描述:
如果before_ *回调返回false,则所有后来的回调和 相关操作已取消。如果after_ *回调返回false, 所有后来的回调都被取消了。回调通常在运行 它们的定义顺序,但定义为的回调除外 模型上的方法,最后称为。
我只想在迁移文件中将这些设置为:default => false
,以便设置此表或列。这绝对容易。
这是回调文档:
http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html