вспомогательные методы в rails3 - PullRequest
1 голос
/ 26 ноября 2010

Я хотел бы вложить некоторые вспомогательные методы, чтобы упростить мой application_helper, например, у меня есть несколько методов, работающих с валютами, которые применяются ко всему приложению, и я хотел бы вставить в currencycies_helper, а затем просто включить весь этот помощник в помощник приложения.

Как я могу это сделать?

Я пытался:

helper :currencies

и получил

undefined method `helper' for ApplicationHelper:Module

1 Ответ

1 голос
/ 26 ноября 2010

Помощники в рельсах - это просто модули, которые включаются в контроллеры, чтобы помочь разделить функциональность между ними. Были некоторые странности вокруг помощников в рельсах 3, поэтому в зависимости от того, какая версия у вас запущена, вещи могут работать, а могут и не работать, как вы ожидаете, из коробки.

По сути, вы хотите добавить helper :all к вашему application_controller, который будет включать ВСЕХ помощников во ВСЕ ваши контроллеры. Если это не то, что вам нужно, вы можете указать конкретных помощников, например helper :currencies.

В рельсах 3 бета-версии helper :all было поведением по умолчанию, но я думаю они изменили это в последней версии.

Есть отличная статья , в которой обсуждается, как это работает в рельсах 2, но могут быть различия в рельсах 3, но это должно быть хорошей отправной точкой.

...