在应用程序控制器或模型控制器中进行after_action时有什么区别?
问题描述:
有orders
& order_items
控制器在我们的Rails应用4。我们想添加一个after_action
来登录action
。在应用程序控制器或模型控制器中进行after_action时有什么区别?
after_action :info_logger
after_action
适用于两个控制器。我们可以在orders_controller
& order_items
控制器中添加after_action
。或者仅将它添加到适用于两个控制器的application_controller
。在添加after_action
到orders & order_items
控制器和application
控制器(应用程序中的after_action是否涵盖两个控制器)之间是否有任何技术差异?
答
我们发现degug的是,在多个记录应用的结果afer_action
(有些可能是重复的记录)比在模型控制器。如果您关心重复日志记录,则最好将after_action
保留在模型控制器中。
答
正如您所看到的,通常每个控制器都是从应用程序控制器继承而来的。
所以,如果你写在应用控制器一些代码比它是提供给所有的孩子一样控制你的情况订单和ORDER_ITEMS。
请参阅在* [如果把多个控制器之间共享的的before_filter](http://stackoverflow.com/questions/11940253/where-to-put-a-before-filter-shared-between-讨论多控制器)*问题。我个人会投票选择一个模块,该模块既包含action又包含'after_action'并且包含在两个控制器中。这使得代码干,但明确。 – BoraMa