Help us understand the problem. What is going on with this article?

Rails resourcesについて

More than 1 year has passed since last update.

はじめに

resourcesについて備忘録を兼ねて、まとめてみました。

resources

例:Photosコントローラ

config/routes.rb
resources :photos

上記のルーティングを定義するだけで下に示すような7つのルーティングが自動的に生成される。

HTTP動詞 パス コントローラ#アクション 目的
GET /photos photos#index すべての写真の一覧を表示
GET /photos/new photos#new 写真を1つ作成するためのHTMLフォームを返す
POST /photos photos#create 写真を1つ作成する
GET /photos/:id photos#show 特定の写真を表示する
GET /photos/:id/edit photos#edit 写真編集用のHTMLフォームを1つ返す
PATCH/PUT /photos/:id photos#update 特定の写真を更新する
DELETE /photos/:id photos#destroy 特定の写真を削除する

Railsのルーターでは、サーバーへのリクエストをマッチさせる際にHTTP動詞とURLを使っているため、4種類のURL (GET/POST/PATCH/DELETE) が7種類の異なるアクション (index/new/create/show/edit/update/destroy) に割り当てられる。

名前付きルート

resources を定義することで名前付きルートを使用できるようになる。

コントローラ#アクション 名前付きルート
photos#index photos_path
photos#new new_photo_path
photos#create photos_path
photos#show photo_path(:id)
photos#edit edit_photo_path(:id)
photos#update photo_path(:id)
photos#destroy photo_path(:id)

使用するアクションだけを定義

使用するアクションだけを定義したい場合は onlyオプション を使えばいい。

例:

config/routes.rb
.
.
.
resources :test,only: [:create,:destroy]
end

とする。

参考

https://railsguides.jp/

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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした