我在另一个引擎中装饰了几个辅助方法:
Backend::PathHelper.module_eval do
def spent_appable_points_path(paramz = {})
send("spent_#{appable_type}_points_path", appable, paramz)
end
def earned_appable_points_path(paramz = {})
send("earned_#{appable_type}_points_path", appable, paramz)
end
end
在Backend引擎的视图中使用这两种方法可以正常工作。但是当我尝试在同一个引擎中使用这两种方法时,我正在装饰它们,它们不可用。
Backend::PathHelper.public_instance_methods # doesn't return them
在同一个引擎中使用这两种方法的正确DRY方式是什么?
答案 0 :(得分:0)
最后我创建了另一个模块,就像这样注入它:
Backend::PathHelper.module_eval do
include MyOtherEngine::PathHelper
end