LoginSignup
2
0

More than 3 years have passed since last update.

【Rails】CRUDとHTTPメソッドとアクションとヘルパーメソッドと内容を一緒に

Last updated at Posted at 2020-05-09

一覧表

タイトルのように、横一線で覚える方が実用的だと思い、まとめました!

Userモデルを例に

CRUD HTTPメソッド アクション URLパターン ヘルパーメソッド 内容
Read GET index /users users_path ユーザー一覧ページの「表示」
Read GET show /users/(1) user_path ユーザーのページを「表示」
Read GET new /users/new new_user_path ユーザー作成ページの「表示」
Create POST create /users users_path ユーザーの『作成』
Create PUT create /users/(1) user_path 指定ユーザーに関わる『作成』
Read GET edit /users/(1)/edit edit_user_path ユーザー編集ページの「表示」
Update PATCH update /users/(1) user_path ユーザー情報の一部を『更新』
Update PUT update /users/(1) user_path ユーザー情報の全体を『更新』
Delete DELETE destroy /users/(1) user_path ユーザーの『削除』

補足

POST, PUTの違い

  • リソースを指定した操作なのかどうかの違いと、結果が冪等であるかどうかの違い(後ほど冪等性について解説)

PUT, PATCH の違い

  • ユーザー情報を一部更新する(PATCH)のか、まるっと全てを更新する(PUT)のかで判断

冪等性(べきとうせい)

冪等性は、何度やっても同じ結果を返すことという意味ですが、ここで覚えることは、

  • POST唯一、HTTPメソッドの中で冪等性がない

ということです。

例えばユーザーを作成するcreate(POST)の実行結果を考えてみると、毎回違うユーザーが作成されるはずですね。

その他のメソッドは常に1つの結果にしかなりません。(destroyなどの一回しかやらない操作も、1つの結果であることは同じ)

以上、RESTfulなリソース選定にご参考にしていただければ幸いです!

参考

2
0
0

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
2
0