2010-12-09 1 views
0

Я использую authlogic в моем приложении rails.Как хранить дополнительные данные в сеансе аутентификации?

мой контроллер сессии выглядит следующим образом

def create 
    @user_session = UserSession.new(params[:user_session]) 
    if @user_session.save 
     ... 
    else 
     render :action => 'new' 
    end 
    end 

Теперь я хочу, чтобы хранить дополнительные данные в сессии, например,

@user_session.new_projects_count = Projects.all_new_since(current_user.last_login_at).count 

Это не работает, любые советы?

Я также хотел увеличения/уменьшения @ user_session.new_projects_count в другой контроллер

ответ

1

Я бы рекомендовал держать authlogic как можно более простым (т.е. не добавить к нему).

После входа пользователя в систему (после @ user_session.save) вы можете самостоятельно разместить любую связанную информацию непосредственно в сеансе.

Если вы хотите получить быстрый доступ к нему, когда вы отпустите current_user, вы всегда сможете потянуть его в это время.

+0

Необходимо согласиться, сохранить ключ user_session для себя и хранить другие вещи отдельно, при необходимости создать before_filters, чтобы отбросить данные по мере необходимости. – jenjenut233 2010-12-09 18:28:48