Rails 3.1: Melhor maneira de expor o auxiliar de um mecanismo no aplicativo cliente

Encontrei alguns artigos que abordam a questão de auxiliares em um mecanismo que não estão acessíveis ao aplicativo consumidor (pai). Para garantir que estamos todos na mesma página, digamos que temos o seguinte:

module MyEngine
  module ImportantHelper
    def some_important_helper
      ...do something important...
    end
  end
end

Se você olhar para orails engine documentação nos "auxiliares do mecanismo isolado" (L293), diz:

  # Sometimes you may want to isolate engine, but use helpers that are defined for it.
  # If you want to share just a few specific helpers you can add them to application's
  # helpers in ApplicationController:
  #
  # class ApplicationController < ActionController::Base
  #   helper MyEngine::SharedEngineHelper
  # end
  #
  # If you want to include all of the engine's helpers, you can use #helpers method on an engine's
  # instance:
  #
  # class ApplicationController < ActionController::Base
  #   helper MyEngine::Engine.helpers
  # end

or isso, se eu pedir a alguém que consome meu mecanismo que adicione isso ao application_controller.rb, eles terão acesso a todos os meus métodos auxiliares importante

class ApplicationController < ActionController::Base
  helper MyEngine::ImportantHelper
end

É isso que eu quero e funciona, mas isso é meio difícil, especialmente se, como é o meu caso de uso, tudo o que o mecanismo expõe pode / deve ser usado em qualquer lugar do aplicativo consumidor. Pesquisei um pouco mais e encontrei uma solução que sugeria que eu fiz o seguinte:

module MyEngine
  class Engine < Rails::Engine
    isolate_namespace MyEngine

    config.to_prepare do
      ApplicationController.helper(ImportantHelper)
    end
  end
end

Agora éexatament o que eu quero: adicionar todo o meu método ImportantHelper ao auxiliar de aplicativo do aplicativo pai. No entanto, isso não funciona. Alguém pode me ajudar a descobrir por que essa solução melhor não funciona?

Estou executando o ruby 1.8.7 com trilhos 3.1.3. Deixe-me saber se eu perdi alguma informação importante relacionada ao problema e agradeço antecipadamente.

questionAnswers(5)

yourAnswerToTheQuestion