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

あなたのクッキーをクリアしてください、それが問題を引き起こしているものです。

于 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 に答える