Life & Style

ruby-on-rails-controller

MVCモデルにおいて、リクエスト処理の基点となるのが、Controllerクラスだ。

処理過程において、Model(ビジネスロジック)を呼び出し、その結果をView(ユーザーインターフェイス)に引き渡す。

コントローラークラスとは、アプリケーションに対する特定のリクエストを受け取って処理する役割がある。Railsアプリの中核と行っても良い。

Railsで「Hello World」を出力するには最低でもコントローラーが必要だ。

コントローラーを作成するには「rails generate」コマンドを使用する。

rails generateでコントローラークラス作成

コントローラークラスを作成するには「rails generate」コマンドを実行する。

rails generate controller users index

「users」はコントローラーの名前。開発者が任意につける事ができる。

「index」はユーザーコントローラー内に定義するメソッドの名前。

コントローラークラスに定義するメソッドをアクションと呼ぶ。

「rails generate」コマンドは短縮形として「rails g」コマンドでも代用可能。実務でも時間短縮のため、「rails g」を使用する事が多い。

「rails generate」コマンドはコントローラークラスのみではなく、モデルやテスト等、様々なファイルを自動生成してくれる。

「rails generate」コマンドで自動生成されたファイルは、「rails destroy」コマンドでまとめて削除する事もできる。

rails destroy controller contoroller名

コントローラークラスの基本構文

「rails generate」コマンドで作成したcontrollerファイルを開くと、UsersControllerが自動で作成されている。

class HelloController < ApplicationController
  def index
  end
end

UsersControllerはApplicationControllerを継承している。

コントローラークラスはApplicationController(正確にはその基底クラスであるActionController::Base)クラスを継承している必要がある。

ActionController::Baseクラスはコントローラーの基本的な機能を提供するクラスである。

ActionController::Baseを継承すると、リクエスト/レスポンス処理に関する部分を担ってくれるため、開発者はその部分の処理を意識する必要がなくなる。

アクションメソッド

アクションメソッドとは、クライアントからのリクエストに対して、具体的な処理を実行するメソッド。

アクションメソッドである事の条件は、「public」である事。

アクションとして公開したくないメソッドは「private」宣言をしておくと良い。

アクションメソッドの役割は、リクエスト情報の処理やモデルの呼び出し、ビューに埋め込むテンプレート変数の設定などだ。

コントローラーの命名規則

Railsの基本的な思想は「設定よりも規約」。

そのため、まず関連するファイルやクラス名の命名規則、ルールを理解する必要がある。

コントローラー名は複数形にする事が一般的であるが、データベースと直接紐づかない場合は単数形にする事もある。

コントローラークラスの先頭は大文字で、接尾辞に「Controler」。

コントローラークラスのファイル名は、コントローラークラスを小文字にしたもので、単語の区切りはアンダースコアを使用する(スネークケース)。

コードの記述は間違っていないのに、意図した機能が呼び出されないという状況に遭遇した場合は、名前に誤りがないか確認する事をおすすめする。

PICK UP

  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。