【初心者用】Ruby on Railsの勉強【CRUDとindexアクション】

プログラミング プログラミング

今回はCRUDとindexアクションについての記事です。indexアクションの種類と役割などをみていきましょう。

 

※この先、コードの記述の際に「モデル名」と書いてあるところは自分で設定したファイルやモデル名になります。

 

indexアクションのルーティングを設定しよう

コントローラーのindexアクションを実行するために、ルーティングを設定します。indexアクションは、データの「表示」を行うものです。データは他にも、「編集」されたり「削除」されることがあります。このようなデータの取り扱いの基本処理をまとめてCRUDと呼びます。

 

✔︎CRUD

アプリケーションのデータ取り扱いに関して、基本的な処理の頭文字をとったもの。アプリケーションは下記の4つの処理を組み合わせながら実装していきます。

 

C(Create) R(Read) U(Update) D(Delete)
生成 読み取り 更新 削除

 

 

✔︎7つのアクション

アクション名 内容
index 一覧表示
show 詳細表示
new 生成
create 保存
edit 編集
update 更新
destroy 削除

 

これら7つのアクションのルーティングは、resourcesメソッドを利用することで一度に設定が可能です。

 

✔︎resourcesメソッド

7つのアクションへのルーティングを自動生成するメソッド。resourcesの引数に :モデル名 というシンボルを指定します。すると /モデル名  のパスに対応するルーティングが生成されます。

【例】resourcesメソッドの使用例
1
2
3
Rails.application.routes.draw do
  resources :モデル名
end

 

上記のように記載すると、以下のような7つのアクション全てのルーティングを設定したことになります。

【例】resourcesメソッドで自動生成されるルーティング
1
2
3
4
5
6
7
8
GET          /モデル名(.:format)                   モデル名#index
POST         /モデル名(.:format)                   モデル名#create
GET          /モデル名/new(.:format)               モデル名#new
GET          /モデル名/:id/edit(.:format)          モデル名#edit
GET          /モデル名/:id(.:format)               モデル名#show
PATCH        /モデル名/:id(.:format)               モデル名#update
PUT          /モデル名/:id(.:format)               モデル名#update
DELETE       /モデル名/:id(.:format)               モデル名#destroy

 

✔︎onlyオプション

resourcesにオプションとして only を加えると、指定したアクションのみルーティングを自動生成します。

option: :追加したいアクション のようにシンボル型でアクション名を記述します。

【例】resourcesメソッドの使用例
1
2
3
Rails.application.routes.draw do
  resources :モデル名, only: :index
end

上記のように記述するとindexアクションのみを設定したことになります。

【例】resourcesメソッドで自動生成されるルーティング
1
GET          /モデル名(.:format)                   モデル名#index

 

必要なアクションのみを設定してもいいですし、わざわざ絞らなくでも大丈夫です。ただし、不要なアクションは取り除いておく方がエラーを少なくしたり、リリースしたアプリのパフォーマンスを上げることがあります。

 

今回の記事はここまでです。ルーティングができるようになったら次はコントローラーを作れるようになりましょう。

Follow me!

コメント

  1. […] 今回は7つのアクションのうちdestroyを使用します。7つのアクションてなんぞ?という人は別記事にて解説していますのでご覧になってください。>>7つのアクションについて […]

  2. […] 【初心者用】Ruby on Railsの勉強【CRUDとindexアクション】 […]

  3. […] 【初心者用】Ruby on Railsの勉強【CRUDとindexアクション】 […]

  4. […] 【初心者用】Ruby on Railsの勉強【CRUDとindexアクション】 […]

PAGE TOP
タイトルとURLをコピーしました