ActiveModelをインクルードしたクラスでvalidationでエラーにする場合、項目の名前をconfig/locales/**.ymlに設定してあげないとキーの値がそのまま出てしまう(正確にはアンダースコアがスペースに置換される)

例えばこんな感じで検索用のモデルを作成して

Viewではこんな感じで書く

すると、validationエラーはキー値がそのまま表示される(コントローラ側で@search.valid?を呼び出してvalidationを走らせる)

rails-activemodel-validation

これはi18nの設定をすれば、キー値を日本語化することが可能。

まずは、config/environments/***.rbでdefault_localeを設定する

config/locales/ja.ymlには以下のように設定すればOK

するとこんな感じで表示されるようになる

rails-activemodel-validation-ja

参考URL