2
2

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 5 years have passed since last update.

railsのエラーについて

Last updated at Posted at 2018-03-23

エラー表示で現れるエラー文について
下記のように5つに分けられる。

①NoMethodError[問題箇所のコントローラー]#アクション
メソッドが定義されていなかったり、
リクエストで指定されたコントローラーにそのアクションが無い場合に起こるエラー

メソッドを使用するインスタンスのクラスに定義されていないメソッドを使用するとエラーに

エラーメッセージのなかで「`[メソッド名]' for nil::nilclass」と表示されると
メソッドを使用しているインスタンスがnilになっています。そのインスタンスを生成している箇所を要チェック

②Pending migration error
実行していないマイグレーションファイルがあると起こるエラー
マイグレーション忘れが原因

実行し忘れているマイグレーションファイルがないかチェック

③Routing Error
リクエストしたルーティングが設定されていないと起きるエラー

ルーティングの確認と間違ったルーティングをリクエストしていないか確かめるべき。

routes.rbで設定しているルーティングの記述をきちんと確認?
routes.rbを開き、リクエストするルーティングの記述が正しいかどうかチェック

エラー文が出ている画面のurLをみてチェック、
現在、送られているパスを確認することができます。

localhost:3000/check これがリクエストとして送られている

よくある間違いは、routes.rbの中で「:id」を指定されているルーティングで、
viewファイル側のリクエスト箇所でも同じように'tweets/:id'としてしまうことです。

この場合は必ずビュー側で式展開を行うこと

routes.rbに書いてあるHTTPメソッドと、
ルーティングをリクエストする箇所で指定しているHTTPメソッドが合っているか確認

④syntax error   
Rubyの文法エラー

構文に必要な「end」がなかったり、
""(クォーテーション)や「,」(カンマ)忘れが主な原因

メソッドの中でif文やeach文を利用してエラーが出たら必ずendの数が正しいかどうかを確認

""(クォーテーションや「,」(カンマ)忘れをよくよくチェック

⑤Template is missing
指定されたviewファイルが無い場合などに起きるエラー

リクエストを受け取るアクションに対応したviewファイルがあるかを確認(erbファイルを確認)

2
2
0

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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?