Как включить помощников ActionView в конвейер ресурсов?
Как включить помощники вида Rails, чтобы они были доступны контексту выполнения конвейера активов?
Примером использования будет генерировать разметку для формы, используя form_tag
вспомогательный метод и сделайте его доступным для шаблона Javascript (например, руль, JST и т. д.).
Я использую гем handlebar_assets, но это должно относиться к любому erb
или же haml
шаблон тоже.
2 ответа
Решение
Создайте инициализатор и включите помощников в контекст таких ресурсов:
Rails.application.assets.context_class.class_eval do
include ActionView::Helpers
include MyAppHelper
include Rails.application.routes.url_helpers
end
Взято из этого вопроса звездочек
Приведенный выше ответ устарел. Начиная с sprockets-rails 3, соответствующий интерфейс является блоком конфигурации, например:
Rails.application.config.assets.configure do |env|
env.context_class.class_eval do
# include SomeHelper
end
end
Этот блок конфигурации все еще должен быть помещен в инициализатор.