0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

便利なルーティングコマンド

Posted at

今までルーティング結果を確認するときは「rails routes」コマンドを使っていました。ポートフォリオ作成時にルーティングが複雑になり、このコマンドの表示がとても見にくくなったため、もっと見やすく表示してくれるコマンドがないかを探したところ、ありました!今回はそれらをご紹介いたします!

※初心者目線で書いていますので、もし間違っているところがありましたらご指摘いただけると嬉しいです🙇🏼

対象のバージョン

Rails 6以降
※Rails 5以前はこれからご紹介するコマンドは使えません。

rails routesコマンドとは?

routes.rbに設定したルーティングの結果を表示するためのコマンドです。
以下のように表示されます(作成したポートフォリオのルーティングを使って説明をしていきます)。

Image from Gyazo

ルーティングの数が少ない場合、rails routesの出力も見やすいと思いますが、ルーティングが増えるとかなり見づらくなります。ターミナルの画面を大きくしても小さくしても見づらく、これがストレスに感じる方も多いのではないでしょうか(私もその一人です。仲間がいると信じています)。

では、ここからルーティングに関する便利なコマンドをご紹介していきます💁🏼

便利なコマンド①:すべてのルーティングを見たい時

rails routes --expanded

⚠️expandedにつけるハイフンは2つです!!

以下のように表示されます。
Image from Gyazo

いかがでしょうか!アクションごとに線で区切られているので、どのアクションがどのパスなのか、迷子になりませんよね!これを初めて見た時はとても感動をしました。

便利なコマンド②:特定のコントローラのルーティングだけを見たい時

rails routes --expanded --grep コントローラ名 

例えば、usersコントローラのルーティング結果をみたい場合はrails routes --expanded --grep users と出力すると、usersコントローラのみのルーティング結果が表示されます。

Image from Gyazo

便利なコマンド③:特定の文字列を含むルーティングを確認したい場合

rails routes --expanded --grep 文字列

例えば、「search」がつくルーティング結果を確認したい場合はrails routes --expanded --grep searchと出力します。そうすると、searchがつくルーティング結果が表示されます。

Image from Gyazo

コマンドを使わないでルーティングを確認する方法

http://localhost:3000/rails/info/routes」
をブラウザに打つときれいなルーティング画面が表示されます。

Image from Gyazo

⚠️サーバーを立ち上げないと見られませんので、ご注意を!

まとめ

いかがでしたでしょうか?少しでも皆様のストレスが軽減できたら嬉しいです。
他にもっと便利なコマンドがあれば、ぜひお教えください!
初めて記事を書いたので、読みにくい部分があったかもしれませんが、最後までお読みいただき、ありがとうございました🙇🏼

参考文献

https://www.rubyinrails.com/2019/11/05/rails-routes-expanded-option/
https://railsguides.jp/routing.html

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?