undefined local variable or method `current_user'

devise, ruby-on-rails

Solution

From your routes file, the helper should be

current_t_buser

From the documentation of `devise`

Notice that if your devise model is not called "user" but "member", then the helpers you should use are:

before_filter :authenticate_member!

member_signed_in?

current_member

member_session

Problem

I am building my first Ruby on Rails app (ruby 2.0.0p353) by following the teamtreehouse.com guide. I am using devise 3.2.2 devise and in application.html.erb I want to use devise's "current_user" in order to display the name of the logged in user. Here the code where I am using "current_user": ``` <ul class="nav navbar-nav pull-right"> <li><%= link_to current_user.first_name, "#" %></li> <li><%= link_to "Log Out", destroy_user_session_path, method: :delete %></li> </ul> ``` routes.db: ``` Treebook::Application.routes.draw do devise_for :t_busers resources :statuses root to: 'statuses#index' end ``` However when running my application I am always getting the following error: ``` undefined local variable or method `current_user' for #<#<Class:0x007f98b1d0edb8>:0x007f98b1cff6d8> ``` I am getting the same error with other methods of devise. I get the error no matter if I am signed in or not signed out. The sign-up, edit etc. of devise seems to work fine. I have tried putting "before_filter :authenticate_user!" into application_controller.rb as indicated in the documentation of devise but that doesn't work either. Is there anything I need to do in order to use the helpers of devise in a view?

Original source