说,我有一个带有多个插件的RoR应用程序。这些插件中的每一个都在模型上实现了after_save回调。我需要再创建一个包含两个回调的插件,比如start
和finish
。如何确保以下回调执行顺序?
即。我应该在任何其他after_save之前调用我的回调,并在所有其他after_save回调完成执行之后立即调用。
答案 0 :(得分:0)
这应该可以通过My prepend: true
使用MyPlugin.start来实现,如下所示:
after_save :start, prepend: true
假设没有其他插件使用:prepend
。
关于MyPlugin.finish:唯一的选择(据我所知)是确保插件最后执行(例如,通过命名zzz
)。