我想嵌套一些辅助方法来简化我的application_helper,例如我有一堆方法来处理适用于整个应用程序的货币,我想放入currency_helper然后简单地将整个帮助器包含在应用助手。
我该怎么做?
我试过了:
helper :currencies
得到了
undefined method `helper' for ApplicationHelper:Module
答案 0 :(得分:1)
rails中的助手只是包含在控制器中的模块,有助于在它们之间共享功能。 rails 3中的帮助器有一些奇怪之处,因此根据您运行的版本,事情可能会或可能不会像预期的那样工作。
基本上您要做的是将helper :all
添加到application_controller
,其中包括所有控制器中的所有助手。如果这不是您想要的,您可以指定您想要的特定帮助程序helper :currencies
。
在rails 3中,beta helper :all
是默认行为,但我认为他们已在最新版本中恢复了它。
有一个great article讨论了它在rails 2中是如何工作的,但是rails 3可能存在差异,但它应该是一个很好的起点。