はじめに
RailsのMVCモデルを理解するために、ブログサービスを作成する中で、ルーティングのリクエストの内容に対する理解が曖昧だったので、復習のためにまとめていきます。
ルーティングとは
ブラウザーからの受け取ったリクエストを、コントローラで定義したアクションに結びつけてくれるもの。config/routes.rb
に設定していく。
GET
indexアクションやshowアクションのような、情報を表示するだけのアクション。
POST
createアクションのように、情報を登録する際に使うアクション。
PATCH/PUT
updateアクションのような、情報の更新の際に使うアクション。2つの違いはあんまりわからないが、railsではpatchの方が推奨されてるらしい。
DELETE
destroyアクションのような、データを削除するアクション。
resourcesという便利な書き方
上記のようなルーティングを一括で設定出来る、resourcesという便利な書き方がある。
設定されているルーティングの一覧を確認する方法
$ rake routes
というコマンドを叩くと、設定されているルーティングを一括で確認することが出来る。
-
prefix
とは、pathが代入されている変数のようなものらしい。例えばpostsコントローラーのshowアクションを動かすときは通常のパスだと「posts/"ユーザーのid"」になりますが、Prefixを使って書くと「post_path(@post)」のような記述になります。「@post」はコントローラーで「@post = Post.find(params[:id])」などで記述してあげれば@postの中にはそのポストのidも含まれているのでpost_pathの引数として指定できます。 -
VERB
の部分に、HTTPのリクエストメソッドが記載されている。 -
URIPattern
は、URLのパターンが記載されている。例えば、/posts/:id
の場合、id番号10のポストは、posts/10
みたいなURLが付与される。 -
Controller#Action
は文字通り、どのコントローラーで、どのアクションが呼び出されるかが明記される。
#参考記事