例の本(RailsによるアジャイルWebアプリケーション開発)で勉強しているわけですが、
第4章の時刻表示の部分で
<%= 1.hour.from_now %>とか、<%= Time.now %>
で取得した時刻表示が、文字化けしてしまいます。
おおかた、時間の文字列表記に「時」、「分」、「秒」が使われていて、それをWeb上で表示する際に、化けているんだろうなぁと思いました。
ググってみたら、すぐに解決方法が分かりました。
参考URL:http://d.hatena.ne.jp/Kanta/20060405/1144164918
Railsのconfigで設定可能みたい。 /config/environment.rb に
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.update
:default => "%m/%d %H:%M:%S"
を追加。上記の場合時間は「04/04 20:16:23」の形で表示される。
私の場合は、年も表示しておきたかったので、最後の部分を、
default => "%Y/%m/%d %H:%M:%S"
という表記にしてみたらうまいこと表示されました。
なるほど、h()というのはHTMLでエスケープしてサニタイジングするわけだ。
Strutsでいうところの、bean:writeとか、JSTLのc:outやfn:escapeXmlに相当するんだろうけど、短い記述ですむから便利そうです。