4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ruby、Ruby on Rails エラーが表示された場合

Last updated at Posted at 2021-05-20

#エラーが表示された場合
プログラムの誤り(バグ)を見つけて修正する作業を「デバッグ(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に記述し、設定する。

図14.png

#NameError in Todolists#show
この場合は、インスタンス変数の設定に誤りがあります。
図15.png

今回はコントローラーで、

list= list(params[:id])

↓に修正する

@list= list(params[:id])

#NoMethodError in Users#show

図1.jpg

Userコントローラのshowアクションで定義されていないメソッドがある。
#9と記載されているところがエラーの発生しているところ。
name_missというメソッドの定義がされていないのが問題と分かります。

【原因】
Userモデルのカラムにname_missというカラムが設定されていなかった

【解決策】
①name_missというカラムを追加する
②name_missが打ち間違えだった。nameと定義しなおす。name_missを削除する

4
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?