35
19

More than 5 years have passed since last update.

bundle exec rails routesで特定のroutesのみ表示する

Posted at

最近Qiitaを開くと、Rails系の自分の記事にいいねがよくついてます。

新人エンジニアや未経験エンジニアの方が多くなったからかなーと思いつつ、こんなものあれば便利なんじゃね?と思ったので書いてみます。

Linuxコマンドがわかる人は当然っちゃ当然のことをやっているので、見る必要はないです。

特定のrouteを取得

railsでrouteが多くなると目的のものを目視で探すの、クソだるいですよね?

なので、パイプでgrepを渡してあげます。

$ bundle exec rails routes | grep product
root         GET            /                                                                                        products#index
products     GET            /products(.:format)                                                                      products#index
             POST           /products(.:format)                                                                      products#create
new_product  GET            /products/new(.:format)                                                                  products#new
edit_product GET            /products/:id/edit(.:format)                                                             products#edit
product      GET            /products/:id(.:format)                                                                  products#show
             PATCH          /products/:id(.:format)                                                                  products#update
             PUT            /products/:id(.:format)                                                                  products#update
             DELETE         /products/:id(.:format)                                                                  products#destroy

さらに、GETのrouteだけ表示したいときは、

$ bundle exec rails routes | grep product | grep GET
root         GET            /                                                                                        products#index
products     GET            /products(.:format)                                                                      products#index                                      
new_product  GET            /products/new(.:format)                                                                  products#new
edit_product GET            /products/:id/edit(.:format)                                                             products#edit
product      GET            /products/:id(.:format)                                                                  products#show

こんな感じで、grep <文字列>|でどんどん渡していけば絞って表示できます。

Linuxコマンド使えたら誰でも普通にやると思いますけど、Rails初心者でコマンドわからない方は是非使って活用してみてください。

補集合を取得

特定のroute以外を見たいときは以下を使います(たぶんこんな使い方はしないと思うけど)。

$ bundle exec rails routes | grep product | grep -v GET
POST           /products(.:format)                                                                      products#create
PATCH          /products/:id(.:format)                                                                  products#update
PUT            /products/:id(.:format)                                                                  products#update
DELETE         /products/:id(.:format)                                                                  products#destroy

-vオプションを使えば、それ以外のものが表示できます。

新人エンジニアの方へ

最初はいろいろ大変かもしれないですが、ググり散らかしてどんどんサービス作ってエンジニア界隈を盛り上げてください!

僕ももっと有用な記事をかけるように日々精進します:muscle:

35
19
4

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
35
19