Authlogic not active

Trying to add authlogic in a simple project but get the error;

Showing app/views/layouts/application.html.erb where line #33 raised:
undefined method `underscore' for nil:NilClass
Extracted source (around line #33):
30: <div id="mainleft">
31: <ul class="menu">
32: <li><%= nav_link "Home", "site", "index" %></li>
33: <% if current_user %>
34: <li>The site</li>
35: <% else %>
36: <li><%= nav_link "Login", "authentications", "login"
%></li>

class ApplicationController < ActionController::Base
  protect_from_forgery
  filter_parameter_logging :password, :password_confirmation
  helper_method :current_user

  private
    def current_user_session
      return @current_user_session if defined?(@current_user_session)
      @current_user_session = Authentication.find
    end

    def current_user
      return @current_user if defined?(@current_user)
      @current_user = current_user_session &&
current_user_session.user
    end

authentication model
class Authentication < Authlogic::Session::Base
  authenticate_with User
end

user model
class User < ActiveRecord::Base
   acts_as_authentic do |c|
    c.session_class = Authentication
    c.login_field = :login
    c.ignore_blank_passwords = false
   end
end

routes in routes.rb
  map.root :controller => "site", :action => "index"
  map.resource :authentications
  map.resources :users

  map.login "login", :controller =>"authentications", :action =>
"login"
  map.logout "logout", :controller =>"authentications", :action =>
"destroy"

The problem is in ApplicationController
      @current_user_session = Authentication.find
Authentication is not active? I have config.gem "authlogic" in
environment.rb file.

Any ideas?

Shouldn't this be:

map.login "login", :controller =>"authentications", :action => "new"

? (Note that I changed the action to "new")

Unfortunately the problem does not appear to be a routes problem but a
‘not initialised’ authlogic problem. By changing the App.Controller
methods I have now moved the problem to the create procedure after
logging on. I managed to create a user from the console and Authlogic
filled in all the ‘special’ fields. But logging on and calling the
create session (call Authentication) causes the same error
undefined method `underscore' for nil:NilClass
which occurs when calling @authentication.save.

def create
    @authentication = Authentication.new(params[:authentication])
    if @authentication.save
     flash[:notice] = "Login successful!"
     redirect_to root_url
    else
     render :action => :new
    end
  end

My App.Controller now has the session/user checking methods and cause
no problems. (so far)

  private
    def current_user
     return @current_user if defined?(@current_user)
     @current_user = current_user_session && current_user_session.user
    end

    def current_user_session
      return @current_user_session if defined?(@current_user_session)
      if defined?(Authentication.Find) then
       @current_user_session = Authentication.find
      else
       @current_user_session=nil
      end
   end

I am using rails 2.3.8 and Authlogic 2.1.6, and I like to try and keep
to one word descriptions of models and controls so Authentication
instead of UserSession.

fyi for people who find this thread:

I had the same issue with undefined method `underscore', and my only
solution was recreating my app from scratch, using this authlogic/rails3
template:

https://github.com/davidchua/authlogic-rails3-template