2013-04-27 14:12

Controllerクラスの生成

コントローラとは?

Railsにおけるコントローラの役割は、クライアントから受け取ったリクエストをroutingに従って処理することです。
アプリケーションの要と言っても過言ではないかと。
必要に応じてModelを呼び出し、その結果をViewに引き渡したりします。

Controllerクラスを生成する

rails generate controller コントローラ名 [アクション名] [オプション]

'['と']'で囲われた部分は省略可能です。

例えばこんな風に。
Articleコントローラを生成します。

ターミナル
$ rails generate controller articles

命名規則に従って、コントローラ名は

  1. 頭文字は小文字
  2. 複数形

にしてください。
ここで生成するArticleコントローラはArticleモデルに対応するコントローラになります。
Articleモデルではその名の通り「記事」を扱うことになり、当該「記事」は複数存在することになるのでコントローラ名を複数形にするのです。
あまりないことかもしれませんが、例えば、Articleモデルでは1つの「記事」しか扱う予定がない場合は、コントローラ名は単数形で構いません。

命名規則についてはこちら ⇒ Railsの命名規則

rails generate controllerによって、

  • app/controllers/ articles_controller.rbコントローラクラス本体
  • app/helpers/ articles_helper.rbコントローラ固有のビューヘルパー
  • app/assets/javascripts/ articles.js.coffeeコントローラ固有のCoffeeScript
  • app/assets/stylesheets/ articles.css.scssコントローラ固有のSCSS
  • test/functional/ articles_controller_test.rbコントローラクラスのテストスクリプト
  • test/unit/helpers/ articles_helper_test.rbビューヘルパーのテストスクリプト
  • app/views/articles ⇒ テンプレートの保存フォルダ

が生成されます。

ここで生成されたファイルに実装していきましょう。
続きは次回 ⇒ アクションメソッドの実装