Railsでよくおきるエラーま。よくわからない構文まとめ

スポンサーリンク

Railsでおきるエラー アルファベット順

  • ActionController::InvalidAuthenticityToken → formの送信先で / スラッシュのつけわすれとか・・・
  • Compileエラー → endの書き忘れとか?
  • Couldn’t find Post with ‘id’=user -> リンク先がほかのモデルをさしている。リンク先をミスっている可能性が高い
  • LoadError → シンボルの書き方を間違えている可能性がある。
  • noroute matach → link_to()のリンク先がミスっている可能性もある
  • NoMethodError → そんなメソッドはありません。メソッド名を間違えている可能性が高い。一字違いとかで間違えている可能性が高い
  • NilClass → モデルオブジェクトが空になっている可能性が高い
  • No such file or directory @ rb_sysopen → そんなディレクトリねえよ。フルパスで対処してみる
  • syntax error, unexpected keyword_ensure, expecting end-of-input → doのつけわすれ、=がいらないところに=をつけているなど、その他もろもろ、構文ミス
  • undefined method ` → メソッド名が微妙に間違っている可能性がある
  • Unknown action → アクションを定義していない
  • uninitialized constant → 大文字になっている?可能性
スポンサーリンク

Railsのログ

ログの確認方法

Railsのログはアプリケーション別に記録されるしくみみたい。場所は /log/development.log にある。ログはいろいろやっていると膨大な量になっているので、スクロールしないと一番最新のログがみれなくなる。それがいやな場合はログをクリアことができる。

ログの削除方法

ログを削除するにはコマンドで行う

rake log:clear

gem関係のエラー

gem pg をインストールしようとするとlibpq-fe.h が見つけられない

centos – rails gem pg のインストールでlibpq-fe.hが見つからない – スタック・オーバーフロー

herokuのエラー

git push heroku masterでエラー

git push heroku master でエラー – スタック・オーバーフロー

エラーではないけどよくわからない構文がでてきたとき

map(&: hoge)

map(&: hoe)は &にhogeをブロック展開する。

例↓
イメージとしては次のような感じです。
1. map(& ) はブロック map{|x| } に展開
2. その中身は :to_s のメソッド .to_s
その結果 arr.map(&:to_s) は以下と同じことになります。

hoge ||= “hello”

hogeがnilでなかったら”hello”を代入する。左辺がnilでなければ右辺を代入する

コメント

タイトルとURLをコピーしました