Утилита devess используется для аутентификации.Совместное использование сеансов рельсов с другими приложениями с использованием хранилища сеансов БД
Рельсы сессии хранятся в базе данных.
Чтобы использовать сеансы вне Rails 3, я создал модель под названием Session
. Добавлен стол user_id
в таблицу sessions
.
Когда пользователь подписывается, я должен обновить столбец user_id
в таблице сеансов. Таким образом, в ApplicationController
я добавил метод:
protected
def after_sign_in_path_for(resource)
@session = Session.find_by_session_id(request.session_options[:id])
@session.update_attribute(:user_id, current_user.id)
stored_location_for(resource) || root_path if @session.save
end
Но только после того, как переориентировать, в последнее время session
разрушается, и я в конечном итоге с другой сессии в БД с пустой user_id
.
Какой лучший способ написать user_id
один раз при успешном входе в систему?
Кстати, нет необходимости использовать переменную экземпляра для '@ session'. –