Railsで使われる「コントローラー」ってどういう意味?
コントローラーとは、ユーザーから受け取ったリクエスト(要求)に対して適切な処理をし、ユーザーにレスポンス(返信)を返す機能のことです。
Rails(レイルズ)というフレームワークを用いたアプリ開発において使用されます。
ここで、アプリケーションの処理の流れについて簡単に説明します。
私たちが使っているアプリケーションは、以下の流れで動いています。
①ユーザーがスマホ上からリクエスト(要求)をアプリのサーバーに送る。
②サーバーは、そのリクエストに応えるために必要なサーバー内の処理の流れを決める(ルーティング)
③流れを決めたら、リクエストに対して適切な処理を実行する
④実行した処理をユーザーにレスポンス(返信)として返す。
この流れのうち、③と④の役割を担っているのがコントローラーです。
ではコントローラーは、どのようにしてリクエストに対して適切な処理を実行しているのでしょうか?
コントローラーの中には、アクションという処理のカテゴリーを記述しておくことができます。
リクエストに対してあらかじめ必要なアクションを用意しておくことで、コントローラーは適切な処理を実行することができます。
用意しておけるアクションには、主に下記の7つです。
index = 一覧ページを表示する
new = 新規投稿ページを表示する
create = データの投稿を行う
show = 詳細ページを表示する
edit = 投稿編集ページを表示する
update = データの編集を行う
destroy = データの削除を行う
例えば、ユーザーから「このツイートの詳細が見たい」というリクエストが送られた時には、コントローラー内に「show」アクションを用意しておくことで、ツイートの詳細を開く処理が実行できます。
ここまでで、コントローラーが処理を実行する流れについて説明しました。
最後に、実行した処理結果をユーザーに対して返してあげないといけません。
この処理結果を返すために、ビューの力を借ります。
ビューとは、ユーザーが見やすいような画面を用意するための機能です。
コントローラーは、このビューと連携して、処理結果をユーザーが見やすい情報に変え、レスポンスとして返しているのです。
今日紹介したコントローラーの7つのアクションは、アプリ開発の時に頻繁に使うのでぜひ覚えておきましょう。