0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

railsのresourcesの使い方

Posted at

railsのresourcesの使い方

はじめに

railsのAPI開発を行う際に、resourcesの使い方がよくわからなかったのでまとめました。

この記事の対象者

rails初心者

resourcesを使う場面

一つのリソースに対して表示や、編集、削除など様々なアクションを行いたい時

resourcesの使用例

例として派遣人材管理アプリケーションを想定します。
その中で人物というリソースに対して、

  • 人材の一覧表示
  • 人材の新規登録
  • 人材のプロフィールの編集
  • 人材の削除

を行うことができる機能を作成すると考えます。

routes.rbに

resources :persons

と記載するだけで、これらの機能を行うことができるパスが作成されます。
しかし、パスを作成しただけでは実際にこれらの機能を実行することができません。
これらの機能を実行するコントローラの作成が必要です。

resourcesで作られたパスとコントローラの対応表を以下に示します。

HTTPリクエスト コントローラ パス 処理内容
GET persons#index /persons 人材の一覧表示
POST persons#create /persons 新規人材の登録
GET persons#show /persons/:id 特定の人材の表示
PUT persons#update /persons/:id 特定の人材の編集
DELETE persons#destroy /persons/:id 特定の人材の削除

このようにresourcesと行いたい操作に対してコントローラを記述することで簡単にリソースを操作できるようになります。

無駄なパスを定義したくない場合

例えばリソースに対して削除を行えないようにしたい。
いちいちパスを書くのは面倒だが、セキュリティ上使わないパスを定義したくない
といったケースでもresourcesで記述することができます。

resources :persons,only: [:index,:show,:create,:update]

以下のようにonly:[:行いたいアクション]のような形で記述することで無駄なパスを定義せずに済みます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?