rails3中的嵌套辅助方法

时间:2010-11-26 17:30:53

标签: ruby-on-rails ruby-on-rails-3 nested helpers helpermethods

我想嵌套一些辅助方法来简化我的application_helper,例如我有一堆方法来处理适用于整个应用程序的货币,我想放入currency_helper然后简单地将整个帮助器包含在应用助手。

我该怎么做?

我试过了:

helper :currencies

得到了

undefined method `helper' for ApplicationHelper:Module

1 个答案:

答案 0 :(得分:1)

rails中的助手只是包含在控制器中的模块,有助于在它们之间共享功能。 rails 3中的帮助器有一些奇怪之处,因此根据您运行的版本,事情可能会或可能不会像预期的那样工作。

基本上您要做的是将helper :all添加到application_controller,其中包括所有控制器中的所有助手。如果这不是您想要的,您可以指定您想要的特定帮助程序helper :currencies

在rails 3中,beta helper :all是默认行为,但我认为他们已在最新版本中恢复了它。

有一个great article讨论了它在rails 2中是如何工作的,但是rails 3可能存在差异,但它应该是一个很好的起点。