More Related Content
Similar to 発表資料20140318 (20)
発表資料20140318
- 3. 3.1 Revisiting the
Rendering Stack
• まずは埋め込まれたrubyコードを実行可能にする。
• Rails controllerとviewで共有される
lookup_contextにはtemplateを見つけるのに必要
な情報が含まれている。
• railsではデフォルトでview_pathを提供している。
例: app/controllers/users#indexならば
app/views/index.html.erbなど
- 19. Hashの実験1
• hash[:a] = 1
=> 1
• :a.hash
=> 1112200030795538893
• hash[:b] = 2
=> 2
• :b.hash
=> 2185038335961141261
• :a.eql?(:a)
=> true # valueが返される
• :a.eql?(:b)
=> false # hash[:a]のvalueは返されない。
=> このままeql?を繰り返して見つからなければnil
- 20. Hashの実験2
• hash = {} # Hash.newと同様
• object = Obejct.new
=> #<Object:0x007fb015155b90>
• hash[object] = 1
• hash[object]
=> 1
• def object.hash; 123; end
• hash[object]
=> nil
• hash
=> {#<Object:0x007fb015155b90> => 1}
!
- 28. • 対策
• redis, memcachedなどのKVSを利用する。
• キャッシュを破棄したい際にinstanceに通知を
出す。
• config.action_view.cache_template_loading
= falseにする