我有一个包含5个after_create
回调的模型。这些回调是从上到下执行的吗?如果不是,执行的顺序是什么?
我知道文档列出了每个回调方法的优先级,但是它们没有说明执行相同类型的多个回调的顺序。
答案 0 :(得分:2)
是的,相同类型的回调正在从上到下执行 - 您可以轻松地自行检查它,而无需深入研究ActiveRecord代码或搜索任何文档,例如:
class City < ActiveRecord::Base
after_create -> { log(1) }
after_create -> { log(2) }
after_create -> { log(3) }
private
def log(s)
File.open("/tmp/logger.txt", "a") { |f| f.puts s }
end
end
现在,如果您创建City
并检查文件,则输出将始终为
1
2
3