How to call ApplicationController methods from ApplicationHelper

Solution 1:

Use helper_method.

By default, methods in ApplicationController are only accessible inside the Controllers.

Add a method to the ApplicationController and expose it as a helper method with helper_method:

class ApplicationController < ActionController::Base

  helper_method :foo

  def foo
    "bar"
  end

end

Now the foo method is accessible to both Controllers and Views.

Solution 2:

If the issue is to make methods in ApplicationHelper available in all controllers, why not add a line

include ApplicationHelper

to the ApplicationController file?