为什么仍然可以在视图中访问私有帮助方法?

只是另一个“为什么会那样”的问题:我注意到私有帮助器方法仍然可以在视图中访问。 为什么? 有没有办法防止这种情况(例如,当只有从另一个帮助器中调用辅助方法时)?

助手是融入视图的模块 。 这意味着帮助程序中的公共,受保护和私有方法成为视图上的公共,受保护和私有方法。

我不认为你可以从视图中隐藏辅助方法。 你需要做一些事情,比如你有一个helper类,你可以在helper中实例化,然后将调用委托给它 – 听起来它可能会变得很乱。 🙂

帮助程序基本上是一小段代码,可以在视图中调用以帮助保持代码干净 – 即您经常重复的任何代码很可能会被移动到帮助程序中。

使用帮助程序很简单,每个控制器都有自己的帮助程序文件,或者如果将在整个应用程序中使用帮助程序,则可以在应用程序帮助程序文件中编写帮助程序。

例如 – 见http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails