Controller helper_methods in template

I’m trying to render a rails form using HAML outside of the normal Rails
flow using the code below:

template = File.join("#{Rails.root}", ‘lib’, ‘templates’)
context =, {}, @controller, nil)
context.class_eval do
include Rails.application.routes.url_helpers
inlcude Rails.application.routes.mounted_helpers
end, :attr_wrapper => ‘’).render(context, {
=> @page })

The problem is I keep receiving the following error undefined method
`protect_against_forgery?’ for #ActionView::Base:0x007fcd05b52fa0

For some reason the helper_methods defined in the controller are not
set on the ActionView::Base instance and I’m not sure how to set them or
how Rails goes about doing it. I’ve looked through the source code but
don’t see how it is wired together. That said if I manually add the
using class_eval then it all works the template renders correctly

def protect_against_forgery?

def form_authenticity_token