日報

22.1 テンプレート

テンプレートの環境
  • flash,header,logger,params,request,response
テンプレートの内容
  • rxmlテンプレート Builderライブラリを使ってXMlレスポンスを構築する
  • rhtmlテンプレート HTML+Ruby
  • rjsテンプレート
Builderテンプレート

xml.tag!("id", product.id)

RHTMLテンプレート

スクリプトレット

・置換される値のエスケープ

22.2 ヘルパーの使用

ヘルパーの共有

22.3 フォーマット、リンク、ページネーションヘルパー

22.4 フォームの機能

22.5 モデルオブジェクトをラップするフォーム

form_for

フィールドのヘルパーとform_for
  • テキストフィールド

テキストエリア
チェックボックス
選択リスト
選択リストのグループ化

form_forを使わないフィールドのヘルパー
一つのフォーム内の複数のモデル

22.6 カスタムフォームビルダー

FormBuilder

22.7 非モデルフィールドとの連携

22.8 Railsアプリケーションへのファイルのアップロード

22.9 レイアウトとコンポーネント

レイアウト

レイアウトファイルの検索
レイアウトへのデータの供給

部分的なページテンプレート

部分的なテンプレートとコレクション
部分テンプレートの共有
部分テンプレートとコントローラ

コンポーネント

beforeフィルタと部分テンプレートの組み合わせでコンポーネント的な機能を合成

[ケース対コンポーネント]

22.10 キャッシュ−その2

read_fragment … アクションのフラグメントが存在するかどうか確認

キャッシュされたフラグメントの失効

expire_fragment(:controller=>'blog', :action=>'list' )

フラグメントのキャッシュストレージオプション

22.11 新しいテンプレートシステムの追加

  • コンストラクタはパラメータを1つだけとらなければならない
  • メソッドを一つだけ実装する
動的テンプレートの作成