0

我在我的 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 的任何会话问题吗?

4

2 回答 2

1

清除您的cookie,这就是导致问题的原因。

于 2012-07-19T00:46:40.067 回答
0

如果清除 cookie 没有帮助,您可以尝试使用负责创建会话的控制器。你应该有方法,它会破坏会话,例如:

def destroy
  session[:user_id] = nil
  redirect_to root_path, notice: 'Logged out'
end

添加一些路线,然后只需在浏览器中导航到

localhost:3000/logout
于 2014-03-18T12:24:05.630 回答