Я работаю над очисткой некоторого кода, который зависит от некоторых вспомогательных методов пользовательского контроллера, путем создания объекта-представителя «старого простого Ruby». В моем контроллере я могу передать контекст представления классу:
def show
# old code: view_context.bad_helper_method
@foobar = FoobarPresenter.new(Foobar.find(params[:id]), view_context)
end
class FoobarPresenter
def initialize(model, view_context)
@model = model
@view_context = view_context
end
def something
@view_context.bad_helper_method
end
end
Тем не менее, я не уверен, что пройти в моем тесте. Я бы предпочел динамически вытягивать helper/view_context, чтобы мне не приходилось его передавать.
Как я могу получить доступ к вспомогательному контексту представления/контроллера вне контроллера?
Это проект Rails 3.2.