Rails controllerを徹底解説!知っておくべき3つの知識も紹介

Rails controllerを徹底解説!知っておくべき3つの知識も紹介

Ruby on Rails(以下Rails)のcontroller(コントローラ)についてRailsを学習し始めたばかりの人でもわかるよう、画像を用いて解説していきます。

Railsは、MVCアーキテクチャに基づいて3つの部分で構成されていますが、「MVC」の「C」がcontrollerです。

RailsでWEB開発・プログラミングなどをすると、必ずcontrollerを使用することになるでしょう。では、Railsのcontrollerとはどのようなものなのでしょうか?

本記事ではまず、Rails controllerの役割について解説します。

そして、controllerの作成方法・controllerの命名規約・controllerの削除方法の3つについて、具体的なソースコードを用いて解説しているので、非常に理解しやすい充実の内容となっています。

本記事を読み終えた頃には、Rails modelの全体像が理解できているでしょう。

ぜひ最後までお読みください。

Rails controllerとは?

Railsのcontrollerとは何なのでしょうか?ここでは、画像を用いて解説します。

Railsのcontrollerとは、一言で言うと、「パソコン(ブラウザ)からのリクエストを受け取り、modelviewと連携しながら結果をブラウザに送る(レスポンス)役割を担う部分」です。

Rails controller解説画像

※Rails modelについての詳しい解説は、Railsのmodelを徹底解説!知っておくべき3つの知識も紹介をお読みください。

Rails controllerの具体的な役割としては、以下のようなものがあります。

【Rails controllerの具体的な役割】

・ブラウザからの入力を受け取る

・データをmodelに要求する

・データの追加や変更をmodelに指示する

・適切なviewを選ぶ

・データをviewに渡す

この他にもたくさんcontrollerの役割はありますが、以上が代表的な役割です。

どの役割も、ブラウザ・model・viewとのやり取りであることに注目してください。

つまり、Rails controllerはブラウザ・model・viewとの仲介役で、「なんでも屋」です。また、Rails controllerが実行する具体的な仕事のことをactionと言います。

 

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

Rails controllerの作成方法

ここでは、Rails controllerの作成方法を解説します。

Railsでcontrollerを作成するには、ターミナルから「rails generate」コマンドを実行します。

※「rails generate」は「rails g」と省略可能です。以下からは「rails g」を使います。

「rails g controller コントローラ名」でcontrollerを作成できます。

【Rails controllerの作成コマンド】

rails g controller コントローラ名

【udemyコントローラを作成する場合】

rails g controller udemy

上記のコマンドを実行すると、app/controllersフォルダに「コントローラ名_controller.rb」というファイルが生成されます。(同時にapp/viewsフォルダにも「コントローラ名」のフォルダが作成されます。)

udemyコントローラを作成すると、ファイル名は「udemy_controller.rb」となります。

 

Rails controllerの命名規約

Railsの原則の1つに、「設定より規約」というのがありました。

Railsのcontrollerには名前の付け方に決まりごと(規約)があります。ここでは、Rails controllerの命名規約について具体例で解説します。

例えば、コントローラ名を「members」にした場合、controllerやviewに関する名前は以下のようになります。

【Rails controllerの命名規約】

・コントローラクラス名

MembersController

◯◯Controller、先頭は大文字

・コントローラファイル名

members_controller.rb

◯◯_controller.rbとなる。

・テンプレートのファイル名

app/view/members

app/views/◯◯となる。

Rails controllerの命名規約はRailsの基本的な事柄なのでぜひ頭に入れておいてください。

 

Rails controllerの削除方法

Rails controllerを間違って作成してしまった場合はどうしたら良いのでしょうか?

ここでは、間違って作成してしまったRails controllerの削除方法を紹介します。

Railsでcontrollerを削除するには、ターミナルから「rails destroy controller 削除したいコントローラ名」コマンドを実行してcontrollerを削除できます。

※destroyは英語で「破壊する」という意味です。

【Rails controllerの削除コマンド】

rails destroy controller 削除したいコントローラ名

【UdemyControllerを削除する場合】

rails destroy controller udemy

これでRails controllerを削除できます。rails destroyという、非常に覚えやすいコマンドですね。

間違ってRails controllerを作成してしまった時はこのコマンドでcontrollerを削除してください。

 

いかがでしたか?Rails controllerの全体像が理解できましたか?

Rails controllerはmodelとviewの仲介役のようなもので、非常に重要な役割を担っているので、必ず理解しておきましょう。