1

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

我怎样才能做到这一点?

我试过:

helper :currencies

并得到

undefined method `helper' for ApplicationHelper:Module
4

1 回答 1

1

rails 中的助手只是包含在控制器中以帮助在它们之间共享功能的模块。Rails 3 中的助手有一些奇怪的地方,所以根据你运行的版本,事情可能会也可能不会像你期望的那样工作。

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

在 rails 3 betahelper :all中是默认行为,但我认为他们在最新版本中恢复了这一点。

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

于 2010-11-26T17:37:36.613 回答