Authlogic i kilka typów użytkowników

Witajcie
planuję zaprzęgnąć authlogica do mojej aplikacji - po przeglądnięciu railscasta i przeczytaniu dokumentacji zabrałem się do pracy, jednak pojawił się pewien problem- nie mam modelu user, gdyż specyfikacja aplikacji wymaga kilka rodzajów użytkowników - żeby było prościej, załóżmy że mam 2 rodzaje: Student i Teacher.
teraz nieco kodu, który dodałem do aplikacji:

[code=ruby]#models/student.rb
class Student < ActiveRecord::Base
acts_as_authentic
#(…)
end
#controllers/user_session.rb
class UserSessionsController < ApplicationController
def new
@user_session = UserSession.new
end
#(…)
end
#controllers/application.rb
filter_parameter_logging :password

helper_method :current_user

private

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

def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
end
#views/user_sessions/new.html.erb
<% form_for @user_session do |f| %>
<%= f.error_messages %>

<%= f.label :username %>
<%= f.text_field :username %>

<%= f.label :password %>
<%= f.password_field :password %>

<%= f.submit "Submit" %>

<% end %>[/code] gdy wywołuję user_sessions/new otrzymuję błąd: [quote]NameError in User sessionsController#new uninitialized constant User[/quote] domyślam sie, że _gdzieś_ trzeba zadeklarować, że mój model nie nazywa się user, tylko gdzie? i jak rozwiązać problem, że mam kilka(docelowo 4, ale powiedzmy, że 2) modele, wg. których użytkownik się będzie logował?

Najlepiej po prostu zaimplementuj grupy użytkowników, jeden model User należący do danej grupy (nauczyciele/studenci).

takie rozwiązanie średnio się nadaje - i to nie tylko dlatego, że nauczyciel i student wykonuje w aplikacji zupełnie inne rzeczy, ale z tego powodu, że są to zupełnie odseparowane logicznie jednostki - każde z nich ma inny zestaw danych. Ew kombinuję, aby stworzyć model user, mający pola id,login,password i type - type odpowiadałby za to, czy użytkownik jest nauczycielem, studentem, czy kimśtam innym. Tylko czy takie rozwiązanie jest poprawne? czy może myśleć nad jakimś innym?

Trochę się zdziwisz, jak dodasz pole type do modelu :wink:
Ale to, co to spowoduje, powinno naprowadzić Cię na jedno z możliwych rozwiązań - Single Table Inheritance. Może to sprawić trochę kłopotów, ale w tym przypadku wydaje się być całkiem ok.