instance method
helper_method
Ruby on Rails 8.1.2
Since v3.0.20Signature
helper_method(*methods)
Declare a controller method as a helper. For example, the following makes the current_user and logged_in? controller methods available to the view:
class ApplicationController < ActionController::Base helper_method :current_user, :logged_in? private def current_user @current_user ||= User.find_by(id: session[:user]) end def logged_in? current_user != nil end end
In a view:
<% if logged_in? -%>Welcome, <%= current_user.name %><% end -%>
Parameters
-
method[, method]- A name or names of a method on the controller to be made available on the view.
Parameters
-
methodsrest
Source
# File actionpack/lib/abstract_controller/helpers.rb, line 128
def helper_method(*methods)
methods.flatten!
self._helper_methods += methods
location = caller_locations(1, 1).first
file, line = location.path, location.lineno
methods.each do |method|
# def current_user(...)
# controller.send(:'current_user', ...)
# end
_helpers_for_modification.class_eval <<~ruby_eval.lines.map(&:strip).join(";"), file, line
def #{method}(...)
controller.send(:'#{method}', ...)
end
ruby_eval
end
end
Defined in actionpack/lib/abstract_controller/helpers.rb line 128
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in AbstractController::Helpers::ClassMethods