ruby-on-railsasset-pipelineactionviewhelper

How to include ActionView helpers in the assets pipeline?


How to include Rails view helpers to be accesible by assets pipeline execution context?

An example use case would be to generate the markup for a form, using form_tag helper method, and make it available to a Javascript template (like handlebars, jst, etc.).

I use handlebar_assets gem, but this should apply to any erb or haml template too.


Solution

  • Create a inititializer and include the helpers in the context of the assets like this:

    Rails.application.assets.context_class.class_eval do
      include ActionView::Helpers
      include MyAppHelper
      include Rails.application.routes.url_helpers
    end
    

    Taken from this sprockets issue