Learning to Code

プログラミング勉強記録

Railsチュートリアル RESTのアクションまとめ

今日から年末休みで気持ちと時間に余裕があったため掃除と自炊をした。さつまいもの炊き込みご飯とぶりのあら汁。一通り家事が終わってから今日も勉強開始。

・RESTのアクションをまとめる

RailsチュートリアルRuby on Rails チュートリアル:実例を使って Rails を学ぼう)をやっていて度々見直しているので以下にまとめる。 第二章の表2.2より、Usersリソースに対するRESTのアクション一覧を引用。

HTTPリクエスURLアクション名前付きルート用途
GET/usersindexusers_path全ユーザーを表示するページ
GET/users/1showuser_path(user)id=1のユーザーを表示するページ
GET/users/newnewnew_user_path新規ユーザー作成ページ
POST/users/createusers_path新規ユーザー作成
GET/users/1/editeditedit_user_path(user)id=1のユーザーを編集するページ
PATCH/users/1updateuser_path(user)id=1のユーザーを更新する
DELETE/users/1destroyuser_path(user)id=1のユーザーを削除する

・RESTとは何か

アプリケーションを構成するコンポーネント (ユーザーやマイクロポストなど) を「リソース」としてモデル化することを指します。これらのリソースは、リレーショナルデータベースの作成/読み取り/更新/削除 (Create/Read/Update/Delete: CRUD) 操作と、4つの基本的なHTTP requestメソッド (POST/GET/PATCH/DELETE) の両方に対応しています。

要はアプリの構成要素を「リソース」とする(RESTにする)ことで、そのリソースに対してCRUD操作やHTTPメソッドを使えるようにするということだと理解している。 Railsとはそうやってアプリを作るフレームワークということか。

CRUDとは何か

ソフトウェアやデータベースの持っている基本の機能、Create, Read, Update, Deleteのこと。

・HTTPメソッドとは何か

ブラウザからサーバに対して出されるリクエストのこと。GET, POST, PUT, DELETE, PATCHなど。 PUTはCRUDのCreate、ReadはGET、UpdateはPUT/PATCH、DeleteはDELETEというふうに、CRUDに対応するリクエストがある。

RailsではRESTのリソースを操作する時、コントローラが自動で必要なHTTPメソッドを使用してくれたり、 URLを簡略化できたりという利点がある。