Начо, позвольте мне предложить вам посмотреть http://railscasts.com/episodes/160-authlogic
Он должен ответить на все ваши вопросы и многое другое.
С макушки моей головы ...
Начните с настройки маршрутов, если вы еще этого не сделали:
map.login 'login', :controller => 'user_sessions', :action => 'new'
map.logout 'logout',: controller => 'user_sessions',: action => 'destroy'
Далее, сделайте это в контроллере приложения:
before_filter :authenticate, :except => [:login, :logout, :destroy, :index, :new]
private #--------------------
def authenticate
unless current_user
flash[:notice] = "You must be loged in first"
redirect_to(login_url)
return false
end
end
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
Это должно помочь вам решить вышеупомянутые проблемы. Если люди не вошли в систему, они будут перенаправлены на страницу входа. Кроме того, для выхода из системы просто укажите logout_url (localhost: 3000 / logout)