method
helper_method
v2.2.1 -
Show latest stable
-
1 note -
Class: ActionController::Helpers::ClassMethods
- 1.0.0 (0)
- 1.1.6 (0)
- 1.2.6 (0)
- 2.0.3 (11)
- 2.1.0 (13)
- 2.2.1 (0)
- 2.3.8 (0)
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
helper_method(*methods)
public
Declare a controller method as a helper. For example, the following makes the current_user controller method available to the view:
class ApplicationController < ActionController::Base helper_method :current_user, :logged_in? 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 -%>
Register or
log in
to add new notes.
AKovtunov -
September 18, 2014 - (<= v4.0.2)
0 thanks
Only in ApplicationController
Seems like we can use helper_method only in ApplicationController. Even if we will create child controller, methods that will be created in child and listed in child’s helper_method will not be accessible from the view.
For example, we have
class SystemController < ApplicationController def important_method "I am important!" end end
and
class BookController < SystemController def index end end
And calling important_method from Book’s index view will raise an NoMethodError.