module ActionView::Rendering

def view_context

Override this method in a module to change the default behavior.

Returns String with the rendered template
View#render(option)
Create a new ActionView instance for a controller and we can also pass the arguments.
View.new[lookup_context, assigns, controller]
The view class must have the following methods:

An instance of a view class. The default view class is ActionView::Base.
def view_context
  view_context_class.new(view_renderer, view_assigns, self)
end