エラーメッセージを日本語化する

railsはよくある入力値チェックをあらかじめ用意してくれています。ActiveRecordにあるバリデーション。例えば、空でないことをチェックするためにvalidates_presence_ofってものが用意されていて,

class Buin < ActiveRecord::Base
  validates_presence_of :syain_id, :name, :message
end

ってモデルに書くだけで,syain_idとnameとmessageに対して空でないことをチェックしてくれます。これらはどれかひとつでも空だとエラーとなり,erbにある<%= error_messages_for :buin %> タグにてエラーメッセージが出てきます。

・・・ってことを最近知りました。

確かにサンプルプログラムを打っていたときは,入力チェックはやたら簡単に出来た気がしてそのまま素通りしていたんですけど,あのとき書いた一行がこんなに強力だとは思わず,記憶の彼方に飛んでました。

閑話休題

で、エラーメッセージまで出してくれるのですが,これを日本語化したいという思いがあり,ちょっとぐぐってみると、そのものズバリのBlogエントリがありました。「validationのエラーメッセージ(error_messages_for)の日本語化」です。

もう、何も考えずにBlogの記事を読み,ひたすらタイプ。すると、無事,日本語化が出来ました。

ちょっとはまったのは,ヘルパに書くsub!のところで、タグにマッチさせるために\/h2って書いてあるところ。NetBeans+Macだとエスケープ文字は\(バックスラッシュ\)でないといけなくて、円記号と同じではないためにSyntacエラーが出てしまいました。まぁ、それぐらい。

う〜〜〜ん、すばらしい。