Railsでキャッシュを有効にした場合。
キャッシュされるもの:Model,Controller,Helper
キャッシュされないもの:View
となる。
ここで注目すべきがViewとHelperの関係。
キャッシュされると動作は速くなるが、バグが出ても動的置き換えができない。
キャッシュされないものはその逆。
ViewとHelperは両方ともレンダリングを担当し、規約・慣習・見た目などを無視すればどっちにコードを書いても動作は変わらない。
が、Helperに書くとキャッシュが有効になるため、毎回読み込みを行うViewのコードが減ることはパフォーマンスの面から見ても効果がある。
「Viewにコードを書くと汚いから」というような見た目の理由だけではなく、パフォーマンスの面からも条件分岐などのコードをHelperに移動することは効果がある。