Ruby on rails 在rails中删除了一个用户,但会话仍然存在--如何清除这个?
我在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
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。这应该可以解决问题。