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

Jos*_*eim 14 ruby private ruby-on-rails helper

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

Sha*_*ell 25

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

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