はじめに
今回は、実践的なコントローラーの記述方法やセキュリティーについてアウトプットしていきます!
コントローラーの構造
コントローラーには、ルーティングによって処理されたリクエストを受け取り、ビューファイルなどのレスポンスとして返却するという機能があります!
この機能が実装できるのは、Action Controllerという仕組みを搭載しているからです!
Action Controller
Action Controllerとは、Railsのアプリケーションにおいて、コントローラーの機能を実現するために必要なオブジェクトのことです!
レスポンスについて
レンタリング
レンタリングとは、指定したHTMLなどのビューファイルを画面に描画することです!
JSON
JSONとは、データを扱う場合のフォーマットのことです!
JSONを用いるメリットは、動作が軽いことや、モダンなフロント言語と親和性が高く管理がしやすいなどがあります!
サービスクラスについて
サービスクラスとは、コントローラー内のコードの可読性を高めるために用いる概念です!
注意点として、モデルに記述する処理は他にも多くあ利、モデルの記述が肥大化しやすいという注意点があります!これを避けるためにサービスクラスがありました!
セッションについて
セッションとは、Webサービスにおいて情報を一時的に記憶しておく仕組みです!
Ruby on Railsにおいてセッションはsessionというオブジェクトにハッシュのような形で格納されています!
session
sessionはRuby on Railsでセッションを使用する際に使うオブジェクトです!
コントローラーで使用することができ、下記のように記述すると保存できます!
class TestsController < ApplicationController def index session[:sample] = 1 end end
こんな感じで、ハッシュに値を追加するような記述で使用できます!
クッキー
クッキーとは、ブラウザが持っているデータを保存できる領域のことです!
ブラウザにあるセッションの情報を保存する場所のことをクッキーと4っでいます!
CookieStore
CookieStoreとは、Railsでセッションを用いる際の、デフォルトの保存先です!
この保存先のことをセッションストレージと呼ぶことが一般的です!
また、セッションではユーザーの情報を悪意に盗まれてしまうこともあります!
それを防ぐために、CookieStoreはセッションを暗号化したり、定期的にリセットしていたりしています!
コメント