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