🧲
【Rails】rails routesの出力からほしい情報だけ取り出す
はじめに
ルーティングを確認したいけど、routesが多くなってくるとrails routes
コマンドでは求めている情報を得るのに時間がかかってしまう。今回はそんな時に便利な「特定のroutes
だけ取り出して確認できるコマンド」についてです。
環境
- OS: Windows
- IDE: Cloud9
- Ruby-3.1.2
- Rails 6.1.7.6
特定のroutesを確認したい
# ベースのコマンドはこちら
$ rails routes|grep 文字列
# 例えばuserのroutesだけ確認したい場合はこうなる
$ rails routes|grep user
rails routes
のうしろに|grep
をつける。そのうしろに取り出したいものを書けばokです。
このコマンドでは、| (パイプ)
とgrep
というコマンドを使っています。
| (パイプ)とgrep
|(パイプ)
- ターミナル上で使用される特殊文字。前のコマンドの出力を次のコマンドの入力として渡す役割を果たしています。
- 先ほどのコマンドでいえば、
rails routes
というコマンドを実行し、その結果を| (パイプ)
を介してgrep user
というコマンドに渡しているという流れです。
grep
- Linuxなどのコマンドライン環境で使用されるコマンドの1つです。
grep
コマンドは、テキストファイル内で特定の文字列を検索して表示する機能をもっています。検索の柔軟性を向上させられる便利なコマンドですね。 - 先ほどの例では、
grep user
というコマンドでrails routes
の出力からuser
という文字列を含む行を検索、取り出して表示するという流れが行われています。
この子たち柔軟で便利なので、パイプを渡していくことでさらに絞ることもできます。
# userを含むものの中から更に PATCH メソッドに絞って取り出したいとき
$ rails routes | grep user | grep PATCH
最初に例として挙げたコマンドのうしろにまた同じようにパイプ
、grep
、文字列
と並んでいますね。
rails routes
で出力された中から文字列にuser
を含むものを検索して取り出し、さらにPATCH
を含むものを検索して取り出す…という風にほしいものだけに絞って表示することができます。
rails routes
コマンドは頻繁に利用すると思うので、ぜひ活用してみてください。
このコマンド知るまでふつうに大量の結果の中からCtrl + F
の検索ショートカットキーとかで絞って順にみていたんですが、やっぱりさすが、便利なコマンドってあるものですね。
最後まで読んでいただきありがとうございました。
スクールでの3カ月の学習期間を終え、いよいよ次の段階です。今後も学びを止めず、引き続き自己学習たのしんでいきます💪
新しい情報はどんどんキャッチしていきたいので、プラスの情報や修正点等ありましたらご連絡いただけますと幸いです。
Discussion