こんにちは、私は地元で素晴らしいアプリを持っていますが、ヘロクにプッシュすると問題が発生します。レイルズアプリのHerokuステータス500内部サーバーエラー(申し訳ありませんが何かが間違っていました)
Herokuのリンク:https://sleepy-garden-73993.herokuapp.com
GitHubのレポ: リソースの読み込みに失敗しました::サーバは500(内部サーバーエラー)の状態
どのように応答したページをINSPECTコンソールでhttps://github.com/kbachand/ginger_ails
ERROR
- 「あなたの住所を確認」をクリックし、アドレスを入力してください:202 tryon st;郵便番号:28207
- 「あなたの病気を選択」をクリックして、いずれかを選択してください。
- 「購入救済キット」をクリックすると、ログインまたはサインアップを促すメッセージが表示されます。あなたが望むなら、私のログインは[email protected]でパスワードは:surfsup714
- ログイン後、「購入救済キット」をクリックすると、カート内のすべてのアイテムを表示するビューをレンダリングしなければならない(SHOULD)ストライプ経由で空にするか購入することができます。しかし、代わりにエラーが発生します。
Herokuのログ:
2016-11-02T18:15:02.693028+00:00 app[web.1]: [1m[36mCart Load (1.4ms)[0m [1mSELECT "carts".* FROM "carts" WHERE "carts"."id" = $1 LIMIT 1[0m [["id", 1]]
2016-11-02T18:15:02.696486+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::DatatypeMismatch: ERROR: argument of WHERE must be type boolean, not type integer
2016-11-02T18:15:02.695276+00:00 app[web.1]: [1m[35mUser Load (1.8ms)[0m SELECT "users".* FROM "users" WHERE (1) LIMIT 1
2016-11-02T18:15:02.695572+00:00 app[web.1]: Completed 500 Internal Server Error in 7ms (ActiveRecord: 4.6ms)
2016-11-02T18:15:02.696484+00:00 app[web.1]:
2016-11-02T18:15:02.696487+00:00 app[web.1]: ^
2016-11-02T18:15:02.696486+00:00 app[web.1]: LINE 1: SELECT "users".* FROM "users" WHERE (1) LIMIT 1
2016-11-02T18:15:02.696488+00:00 app[web.1]: : SELECT "users".* FROM "users" WHERE (1) LIMIT 1):
2016-11-02T18:15:02.696488+00:00 app[web.1]: app/controllers/carts_controller.rb:35:in `show'
2016-11-02T18:15:02.696489+00:00 app[web.1]:
2016-11-02T18:15:02.696489+00:00 app[web.1]:
2016-11-02T18:18:42.858131+00:00 heroku[router]: at=info method=GET path="/" host=sleepy-garden-73993.herokuapp.com request_id=5c66a6cc-7de8-43b6-92c3-51b63a3d3ab7 fwd="104.139.26.81" dyno=web.1 connect=1ms service=18ms status=200 bytes=6966
carts_controller.rbの35行目に 'User.find(params [:id])'が必要です。 –
私はそれを持っていて動作しませんでした。 @user = User.find_by(id:params [:id])これは、削除する必要があるというコメントが追加されました。ジュニアレベルの開発者として、私はちょうどあなたが入力したのと対を成し遂げるようにしなければならない理由を知りたいと思います。 –
'User.find_by_xyz(xyz:1)'は 'find_by_'の後に来る属性を探します。この場合は 'xyz'です。 'find()'で検索すると、プライマリキーで検索されます。あなたの場合はおそらく 'id'です。 –