コントローラの役割とActionControllerを知ろう

Human Resocia Co.,Ltd.

2016-01-15 09:00

ヒューマンリソシア株式会社はコラム「コントローラの役割とActionControllerを知ろう」を公開しました。
###

# はじめに
みなさんこんにちは。塩尻オープンソースラボの小澤です。

前回まで3回に渡りActiveRecordを取り上げ、関連付けやバリデーションなどの機能を紹介しました。今回からは、MVCアーキテクチャのC、すなわちコントローラ(Controller)を取り上げます。ActionControllerとルーティングについて解説していきましょう。

# コントローラの役割
コントローラは、ユーザーからのリクエストを受け取り、モデルやビューと連携しながら、結果(レスポンス)をユーザーに返す役割を担っています。モデルのデータをビューで表示したり、ユーザーが入力したデータでモデルを更新したりと、モデルとビューの仲介をおこなっているとも言えます。

コントローラは、rails generate controllerコマンドで作成できます。作成されたコントローラクラスは、ApplicationControllerを継承しています。さらに、ApplicationControllerは、ActionController::Baseを継承しています。コントローラクラス名の最後の部分は、基本的に「複数形」となりますが、絶対ではありません。(ちなみに、モデルの命名規則は「単数形」でした。)

# ActionController
コントローラクラスが継承しているActionController::Baseには、便利なメソッドが多く収録されています。ここでは、重要なメソッドについて紹介しましょう。

## パラメータ

ユーザーからリクエストされたパラメータは、paramsメソッドが返すparamsというハッシュに集約されています。ハッシュの値には配列やハッシュが含まれることもあります。

Rails4では「Strong Parameters」がコア機能となりました。Strong Parametersを使用すると、ホワイトリスト形式でリクエストパラメータを検証することができます。この機能によって、paramsハッシュに想定外のパラメータが含まれていた場合にアプリケーションの想定外の動作を引き起こす、Mass assignment脆弱性と呼ばれる問題を回避することができます。Strong Parametersは、以下のように、requireメソッドとpermitメソッドを使用して実装します。

この続きは以下をご覧ください
(リンク »)
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

【企業の皆様へ】企業情報を掲載・登録するには?

御社の企業情報・プレスリリース・イベント情報・製品情報などを登録するには、企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]