The method above fetches the currently logged-in user. It performs a find on the User model for the session’s user_id. This method is called several times per request, which means that the database is also called several times per request. This problem can be solved by caching the result of the database call in an instance variable.
@current_user ||= User.find(session[:user_id])
The important thing to note is the OR symbol. The first time the line above is called, the @current_user variable will be nil and so the database call will be made. For all subsequent calls to the same method, @current_user will contain the current user so the request to the database won’t be made. This will improve performance.