【Ruby】コントローラーの役割

一つ前の記事ではルーティングで、リクエストとその行先を定義しました。

コントローラーではリクエストに対する処理を定義します。

ここでリクエストに対応する処理をまとめて用意しておきます。

そしてその処理が実行された後に、レスポンスとしてクライアントに返すまでがコントローラーの役割になります。

 

では定義方法をみていきましょう。

その前にコントローラーファイルを作成します。

# コントローラーを作成
% rails g controller コントローラー名

この時コントローラー名は複数形を使用します。

これはこういう決まりだと覚えておきましょう。

 

早速作成したファイルに、アクションを用意していきます。

このアクションとは「処理」のことです。

どんな処理を行うかを書いていくということです。

 

アクションは以下のカテゴリーに分類されます。

アクション名 どのような時に動くか
index 一覧表示ページを表示するリクエストに対応して動く
new 新規投稿ページを表示するリクエストに対応して動く
create データの投稿を行うリクエストに対応して動く
show 個別詳細ページを表示するリクエストに対応して動く
edit 投稿編集ページを表示するリクエストに対応して動く
update データの編集を行うリクエストに対応して動く
destroy

データの削除を行うリクエストに対応して動く

 

今回はトップページを表示させたいので、indexアクションを用います。

コントローラーにインスタンスメソッドとして定義します。

class PostsController < ApplicationController

 def index  # indexアクションを定義した
 end

end

 

 

以上でルーティングした、

「GETメソッドがpostsというパスに送られてくたら、

postsコントローラーのindexアクションを呼び出してね」

という設定が完了しました。

 

これでトップページを表示させようというところまでいきます。

 

でも、このままではそのトップページがない。

次はビューファイルの用意が必要です。

処理の流れの次の段階、ビューを整備していきましょう。