2
設計 gem用於身份驗證。使用DB會話存儲與其他應用程序共享Rails會話
將導軌會話存儲在數據庫的中。
爲了使用Rails 3以外的會話,我創建了一個名爲Session
的模型。 sessions
表中增加了user_id
列。
當用戶登錄時,我應該更新會話表中的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
被摧毀,我結束了在DB另一個會話一個空白user_id
。
登錄成功後寫入user_id
一次的最佳方法是什麼?
順便說一句,''session'不需要使用實例變量。 – 2012-05-25 18:01:01