我有几个控制器和相关的帮助模块。我有一些帮助方法应该在不同的模块中表现出类似的行为,这意味着:
module UserHelper
..
def destroy(user)
link_to t(:destroy_user), user ...
end
end
module PhotosHelper
..
def destroy(photo)
link_to t(:destroy_photo), photo ...
end
end
我之前并不知道所有这些助手模块都是默认包含的(我猜这没关系),而且无论从哪个视图调用助手方法都没有影响。
有什么最好的方法可以将其余的助手与我的当前控制器/视图分离,以便在 controller_name == 'photos'
时,只使用 Photos
和 Application
助手?
对我来说,助手的概念并不是很清晰。如果已经混合了所有助手,为什么不只有一个单一的 ApplicationController
呢?这只是为了“逻辑分离”吗?
我的意思是,当然,有许多解决方法。但是是我自己的问题,还是真的感觉没有理由全局包含所有助手呢?