有可能是在部署时没有正确保存会话信息。为了避免这种情况,可以使用数据库存储会话信息,而不是默认的 Cookie 存储方式。下面是一些代码示例:
config.session_store :active_record_store
rails generate active_record:session_migration
rake db:migrate
before_filter :load_session
def load_session
unless session[:user_id].blank?
@current_user ||= User.find_by_id(session[:user_id])
end
end
这将确保在每个页面加载时,当前用户会话始终可用,而不会意外退出登录。