Ruby on rails 在rails中删除了一个用户,但会话仍然存在--如何清除这个?

Ruby on rails 在rails中删除了一个用户,但会话仍然存在--如何清除这个?,ruby-on-rails,session,Ruby On Rails,Session,我在rails应用程序中创建了几个测试用户来测试登录。他们通过设置会话自动登录 一旦我对用户登录感到满意,我就进入rails控制台,用 User.last.delete 然而,现在当我尝试加载localhost:3000时,我的浏览器仍然在寻找我刚刚删除的14号用户 ActiveRecord::RecordNotFound in StaticPagesController#home Couldn't find User with id=14 app/controllers/applicati

我在rails应用程序中创建了几个测试用户来测试登录。他们通过设置会话自动登录

一旦我对用户登录感到满意,我就进入rails控制台,用
User.last.delete

然而,现在当我尝试加载localhost:3000时,我的浏览器仍然在寻找我刚刚删除的14号用户

ActiveRecord::RecordNotFound in StaticPagesController#home

Couldn't find User with id=14

app/controllers/application_controller.rb:7:in `current_user'
app/views/static_pages/home.html.erb:2:in `_app_views_static_pages_home_html_erb___2558135612319095530_70269927858560'

Request

Parameters:

None

即使重新启动服务器并用in
rake db:reset完全清除数据库也没有帮助---这不应该破坏告诉我的应用程序查找id=14的任何会话问题吗?

清除cookies,这就是问题的原因。

如果清除cookies没有帮助,您可以尝试使用负责创建会话的控制器。 您必须有销毁会话的方法,例如:

def destroy
  session[:user_id] = nil
  redirect_to root_path, notice: 'Logged out'
end
添加一些路线到它,然后只需在浏览器中导航到

localhost:3000/logout

您删除了用户,但会话似乎仍然引用它。您应该删除localhost的cookies。这应该可以解决问题。