Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

ルーティングのリクエストの整理(POSTとかGETとか)

More than 1 year has passed since last update.

はじめに

RailsのMVCモデルを理解するために、ブログサービスを作成する中で、ルーティングのリクエストの内容に対する理解が曖昧だったので、復習のためにまとめていきます。

ルーティングとは

ブラウザーからの受け取ったリクエストを、コントローラで定義したアクションに結びつけてくれるもの。config/routes.rbに設定していく。

GET

indexアクションやshowアクションのような、情報を表示するだけのアクション。

POST

createアクションのように、情報を登録する際に使うアクション。

PATCH/PUT

updateアクションのような、情報の更新の際に使うアクション。2つの違いはあんまりわからないが、railsではpatchの方が推奨されてるらしい。

DELETE

destroyアクションのような、データを削除するアクション。

resourcesという便利な書き方

上記のようなルーティングを一括で設定出来る、resourcesという便利な書き方がある。

設定されているルーティングの一覧を確認する方法

$ rake routes というコマンドを叩くと、設定されているルーティングを一括で確認することが出来る。

スクリーンショット 2019-06-03 8.01.43.png

  • 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は文字通り、どのコントローラーで、どのアクションが呼び出されるかが明記される。

参考記事

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away