私は最近、私のアプリを宝石から手持ちのショッピングカートに切り替えました。私は新しいorders
テーブルを作成し、まだ私は私のアプリに取得しようとしたとき、私はというエラーを取得する:私はorder.delete_all
を試してみましたRails Delete_Allでもまだid = 5を探しています
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
helper_method :current_order
def current_order
if !session[:order_id].nil?
Order.find(session[:order_id]) <<<<< THIS LINE
else
Order.new
end
end
end
:
ActiveRecord::RecordNotFound at/
Couldn't find Order with 'id'=5
エラーが私のapplication_controller
のこのビットに呼ばれています私のコントローラでは、それはまだ何かの理由でid=5
を探しています。私はdb:drop db:create
を試すだろうが、私は失うことはしたくない生産アプリのデータを持っている。
データベースをめちゃくちゃにせずにこのエラーを修正:
は、いずれかの任意の方法はありますか?
残りのデータベースを破壊することなくordersテーブルだけを削除/再作成しますか?
また、問題が間違っている可能性があるので、ソリューションが他の場所にあると思ったら教えてください。
あなたが言っていることは理にかなっていますが、実装方法はわかりません。シークレットモードでこのエラーが発生することはありません。そのため、現在のセッションでの問題です。 – Liz
@Liz:現在のセッションに問題があります。クッキーを落としてよかったです。すべてのユーザーのセッションをリセットするには、[this](https://stackoverflow.com/a/21467250/125816)を実行します。 –