TECH CAMP 16日目 エラーの復習

自分用のアウトプット。

Railsのエラー解消について。

プログラムの誤り(バグ)を見つけて手直しすることをデバッグという。

デバッグ用のGemとして、pry-railsというのがある。

binding-pry … コードの中にこの記述をすると、実際に実行した時にこの記述の部分でRailsの処理が一時停止し、コンソールが起動する。

「投稿してもうまく表示されない」というような場合に、binding-pryを使ってコンソールで params と入力すれば、
投稿データを送る時のエラーなのか、受け取る時のエラーなのか、などを調べたりできる。

その他、Railsのエラーについて

Routing Error
uninitialized constant PostController Did you mean? PostsController
→ルーティングに関するエラー。postコントローラーではなくpostsコントローラーにしなくてはいけない(複数形)

NoMethodError
ビューでは@postsになっているのにpostsコントローラーの方では@postと定義されていたりする場合に起こる。
表記を揃えなければいけない。複数の要素が入ると考えられるものは基本的に複数形にする。
この場合はコントローラーの方の記述を@postsにするのがよい。

paramsのエラー
投稿時は:nameになっているのに、データを送る時は:nicknameと記述してある、など。

投稿してもTitle can’t be blank などと表示される
requireメソッドでどのテーブルか指定していないのにpermitメソッドでカラムを指定している、など。

部分テンプレートを使用する場合は、参照先のファイルの名前だけでなくディレクトリも注意。

syntax error
文法上の間違い。endで囲むはずなのに無かったり、文末に不必要な「,」がある、など。

アソシエーション
app/models/post.rbで belongs_to :users になっている。
1つの投稿は1人のユーザーに所属するので、usersと複数形になっているのが誤り。
正しくは belongs_to :user

不要な記述(コードの中身)が表示されてしまっているエラー
<%= ◯◯ %><% ◯◯ %>の違いに気をつける。

エラーはこわい……。
でもそれを乗り越えられるととても力がつく、と思う。
まだまだRailsの仕組みの理解が曖昧な部分もあるので、各ファイルの中身を紙に書いて確認していくところ。
っていうかプリンター使えれば印刷して終わりだったんだけど……!
数時間書き続けてて手がめっちゃ痛かった。
今日はそれを使ってカリキュラムのおさらいをしていこうと思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする