#エラーが表示された場合
プログラムの誤り(バグ)を見つけて修正する作業を「デバッグ(debug)」と呼びます。
#Routing Error
ルーティングのエラーです。主に2パターンがあります。
①No route matches [GET] "/〇〇〇"
「ルートが見つかりません」というエラーです。
この場合は、routes.rbでうまく定義できていないことが多い。
スペルミスなどの場合が多いためroutes.rbを開き、正しいスペルに修正。
②Uninitialized constant booksController
「booksコントローラが見つかりません」というエラーです。
books_controller.rbのファイル名や、記述内容にミスがある場合が多いです。
#ActionController::UnknownFormat
Viewファイルが正しく作成できていない場合は、「テンプレートが見つかりません」というエラーが表示されます。
このエラーが表示されたときは、ActionController::UnknownFormatの記述の後にある#〇〇〇の箇所を修正しましょう。
#Unknown action
「アクションが見つかりません」または「定義されていません」というエラー。
〇〇_controller.rbにtopアクションは定義しているか、 app/views/〇〇ディレクトリにtop.html.erbが置けているかを確認しましょう
・アクションの名前が間違っている
or
・アクションが定義されていない 場合に発生します。
#ArgumentError
メソッドの引数が正しくない時や足りない時に発生するエラーです。
【エラー内容の解説】
・Argument Error in books#〇〇
⇒エラーが起きているアクションの場所を教えてくれています。その場所にまず移動してみよう。
・First argument in form cannot contain nil or be empty
First argument in form → フォームの中にある1番目の引数(〇〇〇)が
nil or be empty → 存在していない or 空っぽ
#RuntimeError in PostImages#index
以下のようなRefile.secret_keyのエラーが表示された場合は、キー情報をconfig/initializers/application_controller_renderer.rbに記述し、設定する。
#NameError in Todolists#show
この場合は、インスタンス変数の設定に誤りがあります。
今回はコントローラーで、
list= list(params[:id])
↓に修正する
@list= list(params[:id])
#NoMethodError in Users#show
Userコントローラのshowアクションで定義されていないメソッドがある。
#9と記載されているところがエラーの発生しているところ。
name_missというメソッドの定義がされていないのが問題と分かります。
【原因】
Userモデルのカラムにname_missというカラムが設定されていなかった
【解決策】
①name_missというカラムを追加する
②name_missが打ち間違えだった。nameと定義しなおす。name_missを削除する