2016年04月03日

RailsのRoutesについて

RailsにはRoutesと言うユーザーからのアクセス(URL)を解析して、実行する処理を決める機能があります。
「このURLにアクセスされたら、この処理をする」ってのを、アプリの先頭に立って振り分ける役割ですね。

自分でRailsアプリを作っていると「このページはあんなURLにしたい」とか「RailsデフォのURLはダサい」とか思うわけですよ。
そこでこのRoutesを自在に扱えると、かっちょいいURLでアプリを設計できるのですが、Routesには色々な書き方があって、どう書けば思い通りのURLになるのか意味不明だったので、色々ネットの情報とか参考にしつつまとめてみようと思いました。
「基本」とか書いて分類してますが、人によって基本の定義なんて変わりまくるので、僕の独断と偏見によることをご了承ください。

Railsのバージョンは4.2.4です

知っておくと便利なこと、基本的なこと

  • Routesはconfig/routes.rbで定義する
  • 定義の優先順位は上から書かれた順
  • 定義されているroutesを確認するには、コマンドラインで「bundle exec rake routes」と打つか、「rails s」でサーバを立ち上げてから、http://localhost:3000/rails/info/routesにアクセスする
  • 「こう書いたらどうなるんだろう」って勉強する場合は、routesを編集 -> rails/info/routesページを更新する方法が早くておすすめ
  • だいたい公式に書いてあります

基本文法

オプションとかつけてみた場合

任意のURLを作る

ネストさせたroutesの場合

まとめ

Routes凄い(白目)
とりあえずここに書いたものでやりたいことはカバーできそうな気がする。
思い描いたURLを即座にroutesに書けるようになりたいですねぇ

あと、Gistがハイパー便利でした!

2016/07 追記

public姉さんがサイコーにわかりやすいスライド作ってくれました

https://speakerdeck.com/publichtml/damudexue-burailsfalseroutesru-men

これであなたもRoutesマスター!