@kyanny's blog

My life. Opinions are my own.

第8章 タスクC: カートの作成

ショッピングカート機能を実装する。セッションを使う。フラッシュも。

  • セッション
    • ステートレスな HTTP プロトコルの上位でステートフルトランザクションの仕組みを擬似的に実現するもの
    • Rails では cookie ベースのものがデフォルト => 他のストレージを使う場合は設定変更が必要
  • session ハッシュに似てる、コントローラ内でアクセス可能
  • private メソッドは action として公開されない
  • params オブジェクトにリクエストパラメータが入っている
  • 「アプリケーションレベルのオブジェクトをセッションデータに格納するのは、一般には本当に最悪」
    • Product の例
    • オブジェクトそのものではなく、 primary key などの単純な数値、テキストなどを入れるべき
  • flash リクエストをまたがってアクセスできる一時的なデータ置き場、エラーメッセージなど
  • 共通のコードはメソッドとして抽出して重複をなくす

RailsによるアジャイルWebアプリケーション開発 第3版

RailsによるアジャイルWebアプリケーション開発 第3版