2017-05-19 8 views
0

ローカルホストでは正常に動作するアプリケーションの作業カート/チェックアウト機能を持っていますが、 「カートに入れる」ボタンをクリックすると、カートに追加カート/チェックアウトActiveRecord :: InvalidForeignKey(PG :: ForeignKeyViolation:ローカルホストではなく、Herokuでのエラー

をHerokuのログがエラーのためにこれを示しています。

2017-05-19T21:12:00.506230+00:00 app[web.1]: Started POST "/order_items" for 68.225.227.137 at 2017-05-19 21:12:00 +0000 
2017-05-19T21:12:00.508991+00:00 app[web.1]: Processing by OrderItemsController#create as JS 
2017-05-19T21:12:00.511223+00:00 app[web.1]: User Load (0.8ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]] 
2017-05-19T21:12:00.509041+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "order_item"=>{"quantity"=>"1", "product_id"=>"2"}, "commit"=>"Add to Cart"} 
2017-05-19T21:12:00.516450+00:00 app[web.1]: Product Load (0.7ms) SELECT "products".* FROM "products" WHERE "products"."active" = $1 AND "products"."id" = $2 LIMIT 1 [["active", "t"], ["id", 2]] 
2017-05-19T21:12:00.513630+00:00 app[web.1]: (0.6ms) BEGIN 
2017-05-19T21:12:00.531537+00:00 app[web.1]: SQL (12.8ms) INSERT INTO "orders" ("user_id", "subtotal", "created_at", "updated_at", "order_status_id") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["user_id", 1], ["subtotal", "499.0"], ["created_at", "2017-05-19 21:12:00.517193"], ["updated_at", "2017-05-19 21:12:00.517193"], ["order_status_id", 1]] 
2017-05-19T21:12:00.532478+00:00 app[web.1]: (0.8ms) ROLLBACK 
2017-05-19T21:12:00.533488+00:00 app[web.1]: 
2017-05-19T21:12:00.532671+00:00 app[web.1]: Completed 500 Internal Server Error in 24ms (ActiveRecord: 15.8ms) 
2017-05-19T21:12:00.533491+00:00 app[web.1]: DETAIL: Key (order_status_id)=(1) is not present in table "order_statuses". 
2017-05-19T21:12:00.533490+00:00 app[web.1]: ActiveRecord::InvalidForeignKey (PG::ForeignKeyViolation: ERROR: insert or update on table "orders" violates foreign key constraint "fk_rails_7a22cf8b0e" 
2017-05-19T21:12:00.533492+00:00 app[web.1]: : INSERT INTO "orders" ("user_id", "subtotal", "created_at", "updated_at", "order_status_id") VALUES ($1, $2, $3, $4, $5) RETURNING "id"): 
2017-05-19T21:12:00.533493+00:00 app[web.1]: app/controllers/order_items_controller.rb:7:in `create' 
2017-05-19T21:12:00.533494+00:00 app[web.1]: 
2017-05-19T21:12:00.533495+00:00 app[web.1]: 
2017-05-19T21:12:06.465383+00:00 heroku[router]: at=info method=POST path="/order_items" host=aloop-offroad.herokuapp.com request_id=b13e7b04-7ac0-44fe-b58f-a850ce4cd7e8 fwd="68.225.227.137" dyno=web.1 connect=0ms service=16ms status=500 bytes=1754 protocol=http 

誰もが、私はできませんので、私は迷ってしまいました何が起こっているかを見ることができますか? localhostで動作するものはすべて表示されますが、Herokuではなく、

答えて

1

ordersにレコードを挿入しようとしたときに、制約に違反する値order_status_idのエラーが発生しました。これはおそらく、いくつかのオブジェクトをローカルにデータベースにシードして、そのコードにコードをハードコードしたからです。ただし、それらのレコードは本番データベースには存在しません。要求に応じてデータベースから注文ステータスオプションを引き出し、運用データベースに関連するステータスレコードを作成するように、コードを更新する必要があります。

+0

Ahhhhhh!ありがとうございました!それが私を夢中にしていた! – Liz

関連する問題