我正试图从另一个rails引擎装饰一个控制器.我有一个控制器方法,我想扩展只有一行.我宁愿不复制整个原始控制器方法.
这是我试过的:
Backend::BaseContentsController.class_eval do def booking_update # do some stuff update end alias_method :update, :booking_update end
不幸的是,这引发了异常stack level too deep
.通常继承我可以称为超级.在我的情况下,做什么是理想的?
你应该试试alias_method_chain
:
def update_with_booking # do some stuff update_without_booking # that's your old update end alias_method_chain :update, :booking