1
0

More than 3 years have passed since last update.

【Ruby on Rails】railsコマンドでsyntax errorが出る原因

Posted at

エラー自体はよくある記述ミス。ただ、routes.rbの文法エラーがデータベースの作成時に出たのが気になったので記事にしました。

エラー文とその原因

エラー文

/Users/hiro_miyagi/projects/pictweet/config/routes.rb:12: syntax error, unexpected end (SyntaxError)

エラーが出た状況

ルーティングの設定を行った後に、ターミナル上でrails db:createコマンドを実行したら上記エラーが出た。

原因

config/routes.rbに文法ミスがあった。

間違った記述

resources :users, only: :show,

正しい記述

resources :users, only: :show

疑問点と回答

疑問点:なぜrails db:createコマンドを実行するとroutes.rbの文法エラーが出る?

データベースの作成コマンドであるrails db:createを実行したときに、routes.rbのエラーが出たことが疑問だった。

回答:railsコマンドを実行すると、configディレクトリ内のファイルを全て読み取ってから処理を実行しているから

configディレクトリはアプリケーションの設定が記述されているファイルが格納されている。
そのため、railsコマンドを実行すると

1. configディレクトリ内の設定を全て読み込む
2. 処理を実行(今回の場合はデータベースの作成)

という順番で処理が行われている。
なのでconfigディレクトリ内に文法エラーがあると、上記1.でsyntax errorが出る。

結論

railsコマンドで文法エラーが発生したらconfigディレクトリのファイル(特にroutes.rb)の記述を見直そう!

1
0
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
1
0