Ruby on Railsを勉強し始めた時、知っておいた方が便利な「ルーティングの確認方法」についてまとめようと思います。
ルーティングというのは、URLのどこにアクセス(+どんなアクションメソッドで)すれば、どのコントローラーのアクションが実行されるのかを示したものです。
routes.rb
のファイルで確認したりする人も多いのではないでしょうか。
Railsガイドでは以下のように書かれています。
Railsのルーターは受け取ったURLを認識し、適切なコントローラ内アクションに割り当てます。ルーターは、ビューでこれらのパスやURLを直接ハードコードすることを避けるためにパスやURLを生成することもできます。
なるほど!わかりやすいですね。それでは、Ruby on Railsにおけるルーティングの確認方法についてみていきましょう。
- 1. rails routesコマンドを使ってルーティングを確認する
- 2.localhost:3000/rails/infoにアクセスしてルーティングを確認する
- 3. config/routes.rbを直接読むことでルーティングを知る
- Ruby on Railsでルーティング情報をみるまとめ
1. rails routesコマンドを使ってルーティングを確認する
1つめの方法は、ターミナル上でrails routes
と打つことです。
config/routes.rb
に記載に記載された内容が反映された結果がターミナル上に表示されます。
以下の画像のように表示されると思います。
ターミナル上でアプリを開発している時に非常に便利なコマンドですね。
grepを使って結果の絞り込み
大規模なサービスになってくると、routingの情報も膨大になります。
grepコマンドで結果を絞り込むことでわかりやすくすることが可能です。
rails routes | grep users(調べたい文字列)
とすることで、users
と一致する文字列が含まれる結果のみを表示させることも可能です。
例
rails routes | grep sign_up
2.localhost:3000/rails/infoにアクセスしてルーティングを確認する
rails server
でローカルにサーバをたてている状況であるならば、
localhost:3000/rails/info
にアクセスすることでroutingについて表示することができます。
ブラウザで確認したい時は、こちらの方法がおすすめです。
GETやPOST、またxxx_pathのような表記もあるので実装中でも確認すると便利です。
これだと コマンド+Fなどの検索もしやすいですね。
pathの表記も明確なので開発中にも非常に役たちます。
3. config/routes.rbを直接読むことでルーティングを知る
railsでは、config/routing.rb
にルーティングについての情報を書きます。
そのため、こちらのファイルを直接見ることでルーティングについて知ることができます。
github上で他の人が開発しているアプリのルーティングを確認したい時などはこの方法が有効でしょう。
scope
やname_space
を活用してみやすく、わかりやすいroutes.rb
になっているとよいですね。
オプションについては、railsガイドが非常に参考になります。
エディターを開いてコーディングしている途中であるならこちらを参照するのが早いかもしれませんね!
Ruby on Railsでルーティング情報をみるまとめ
以上3つの方法を紹介しました。
ブラウザを開いている時、エディタで実装中、ターミナルでコマンドを叩いている時で場合分けしてすぐにチェックできるようになるとよいでしょう!