我在一家公司工作,我继承了他们的管理网站。我之前的那个人并没有太多使用视图助手,所以这些助手中 95% 的代码是我的。
我刚刚遇到了一个问题,他的 application_controller 中有 helper :all 行,这意味着所有帮助程序都可用于所有视图。我得到了一点,因为我在两个不同的助手中创建了相同的命名方法,当然它使用了最后一个而不是正确的。它让我发疯,想知道一个与我所在的控制器无关的视图助手是如何被加载的,并且选择了错误的方法。
我的问题是,留在您的应用程序控制器中是个好主意吗?我认为标准将只包含该特定视图控制器的视图助手。因此,如果我有 foo 控制器和 foo 视图,则应该只包含 foo_helper。不是 foo2_helper 和 foo3_helper。(我知道如果我需要 foo2_helper 或 foo3_helper,您可以将“helper foo2”或“helper foo3”放在控制器中,但这将是选择,而不是自动。)
我似乎无法找到答案,这是否是一个好主意。我发现一个网站说这是默认设置,真的吗?
谢谢