我在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
即使重新启动服务器并使用rake db:reset
完全清除数据库也无济于事 - 这不应该破坏任何会话问题告诉我的应用程序查找id = 14吗?
答案 0 :(得分:1)
清除您的Cookie,这就是造成问题的原因。
答案 1 :(得分:0)
如果清除cookie无效,您可以尝试使用负责创建会话的控制器。 你sholud有方法,它会破坏会话,例如:
def destroy
session[:user_id] = nil
redirect_to root_path, notice: 'Logged out'
end
添加一些路线,然后只需在浏览器中导航到
localhost:3000/logout