Logowanie do panelu

Witam,

zacząłem grzebać coraz głębiej w mojej aplikacji na tyle o ile czas mi pozwala i mam pewien problem z logowaniem :

dostep_controller.rb :

def logowanie
    if params[:uzytkownik].present? && params[:haslo].present?
      admin_szukam = Uzytkownik.where(:uzytkownik => params[:uzytkownik]).first
      if admin_szukam
        admin_autoryzacja = admin_szukam.authenticate(params[:haslo])
      end
    end
 if admin_autoryzacja
      session[:uzytkownik_id] = admin_autoryzacja.id
      session[:uzytkownik] = admin_autoryzacja.uzytkownik
      flash[:notice] = "Zostałeś poprawnie zalogowany."
      redirect_to(:action => 'index')
    else
      flash[:notice] = "błąd: niepoprawna nazwa użytkownika lub hasło."
      redirect_to(:action => 'login')
    end

  end


  def logout
    session[:uzytkownik_id] = nil
    session[:uzytkownik] = nil
    flash[:notice] = "Zostałeś wylogowany"
    redirect_to(:action => "login")
  end

application controller.rb :

def sprawdz_logowanie
    unless session[:uzytkownik_id]
        flash[:notice] = "jesteś niezalogowany"
        redirect_to(:controller => 'dostep', :action => 'login')
        return false
    else
        return true
    end 
end

Routes.rb :

get 'admin', :to => "dostep#login"

Aplikacja po wpisaniu w przegladarke localhost:3000/admin :
Nieprawidłowe przekierowanie
XXX wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.

Co może być tego przyczyną ?

Sprawdź czy nie masz pętli przekierowań(tz. przekierowanie przekierowuje na kolejne przekierowanie i tak w nieskończoność).

Ogólnie Twój kod wygląda lekko mówiąc kiepsko, jeżeli nie chcesz korzystać z gotowych gemów to zerknij na:

Usuwając :
application_controller.rb
redirect_to(:controller => ‘dostep’, :action => ‘login’)

Nie pojawia się ten komunikat.

A jak wygląda akcja login?