質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3703閲覧

localhostで500 Internal Server Errorが出ます(rails)

manami0419

総合スコア10

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/10/01 03:01

前提・実現したいこと

合コンアプリを作成中に、500 Internal Server Errorが発生しました。
投稿した合コン情報(user_info)を編集して、保存する際にこのエラーが発生します。
前までは正常に保存されて、トップページに遷移していました。
それから他の実装をしていて、たまたま今日その情報を編集しようとしたところこのようなエラーが発生しました。

発生している問題・エラーメッセージ

こちらはブラウザのエラー画面です。

NoMethodError in UserInfosController#update undefined method `update' for nil:NilClass Extracted source (around line #62): def update if @user_info.update(user_info_params) redirect_to root_path else render :edit  ・  ・  ・

こちらは編集完了ボタンを押した際のターミナルです。
一番下に今回の元凶であろう、500エラーが出ています。

Started PATCH "/user_infos/16" for ::1 at 2020-10-01 11:40:21 +0900 Processing by UserInfosController#update as HTML Parameters: {"authenticity_token"=>"7EI7ETBnPZ1ZnMv28NoLwaA+AFfvbyHfL/svYUXXVzQJixfv0BAHMpWjClJ7b0Wv0GX0jDaflIpkgc/wHmMmow==", "user_info"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x00007f965b6ae318 @tempfile=#<Tempfile:/var/folders/jp/hz6xg7xn3_7fg1894zw8z91m0000gn/T/RackMultipart20201001-2701-1s37emy.jpg>, @original_filename="00.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user_info[image]\"; filename=\"00.jpg\"\r\nContent-Type: image/jpeg\r\n">, "text"=>"うふふ♡お願いします!", "people_num_id"=>"4", "area_id"=>"2"}, "commit"=>"登録する", "id"=>"16"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 15 ORDER BY `users`.`id` ASC LIMIT 1 ↳ app/controllers/user_infos_controller.rb:89:in `user_info_params' Completed 500 Internal Server Error in 4ms (ActiveRecord: 0.4ms | Allocations: 2071)

該当のソースコード

どこを直せばいいのかわからないので、とりあえず該当しそうなファイルを記述させていただきます。

これはuser_infosコントローラーです。

ruby

1 ・ 2 ・ 3 ・ 4 def edit 5 @user_info = UserInfo.find(params[:id]) 6 end 7 8 def update 9 if @user_info.update(user_info_params) 10 redirect_to root_path 11 else 12 render :edit 13 end 14 end 15 ・ 16 ・ 17 ・

こちらはコンソールです。

 Failed to load resource: the server responded with a status of 500 (Internal Server Error)  16:1

試したこと

loggerを使ってみました。
ただ、使い方がわからず何もわかりませんでした。。

補足情報(FW/ツールのバージョンなど)

これのエラーって未経験でも直せることができるんですかね、、( ; ; )
どなたかご回答いただけたら嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

updateメソッドに、

@user_info = UserInfo.find(params[:id])

を記述したことで解決しました。
そもそもこれがないと、どの@user_infoかがわからないですよね、、( ;∀;)

投稿2020/10/01 05:02

manami0419

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問