我很好奇这些回调是如何运作的。如果我初始化一个对象,然后使用方法save
将其扔进我的数据库,那么before_create
回调是否会起作用?
与before_save
类似的事情。它是仅在使用函数save
之前按字面意思调用,还是在使用create
方法时也会被触发?
答案 0 :(得分:2)
before_save
。无论您是创建还是更新记录,都会触发您的回调。所以,是的,当你使用create
方法时也会触发它。
before_create
仅在创建记录之前触发,而不是在更新记录之前触发。
还有before_update
,它只在更新前触发,但在创建之前不会触发。
这不取决于您使用哪种方法,而是取决于记录是否在之前保留。换句话说,这取决于您是在更新还是创建记录。
答案 1 :(得分:0)
http://api.rubyonrails.org/v4.1.1/classes/ActiveRecord/Callbacks.html此网址将帮助您找到合适的答案。在此网址上,您还可以找到回拨的序列。希望它可以帮到你。