我正在通过创建一个“普通的旧 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 项目。