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

时间:2012-10-11 08:32:58

标签: ruby-on-rails ruby private helper

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

2 个答案:

答案 0 :(得分:23)

帮助者modules that get mixed in的观点。这意味着帮助程序中的公共,受保护和私有方法在视图上变为公共,受保护和私有方法。

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

答案 1 :(得分:0)

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

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

例如

- 请参阅http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails