きっかけ
- scaffoldでできるViewのテンプレートをカスタマイズしようと思ったときに、デフォルトのテンプレートはフラッシュのnoticeだけ描画していて、alertは描画していないことに気づいた
- alertを描画していないことを調べるついでに、フラッシュ自体なんだっけを調べようと思った
フラッシュについて
定義
The flash is a special part of the session which is cleared with each request.
(Rails Guideより引用)
セッションだった。
カスタマイズ
ApplicationControllerなどで、add_flash_types
メソッドを使うと、alertやnotice以外も使えるようになる。
これを見て、昔業務で、フラッシュを単純なメッセージ表示ではなく、色々なデータの格納場所として使っているコードがあったのを思い出した。読み解くのも剥がすのも大変だった…。そういうことなら普通のセッションとかキャッシュを使ってほしかった。
おまけ: scaffoldのデフォルトのViewテンプレートで、alertが描画されていない理由
分からなかった笑
普通に自分で描画処理を書くこととします。