みかづきメモ

学習したことのメモとか、日記とか、備忘録。

Rails でエラーメッセージを良い感じにしたい

rails-i18n を入れてくれるとだいたい良い感じにしてくれるんですけども、
「なんかちがうんよー」みたいな時もあります。

例えば、次のようなとき:

# attachment.rb
class Attachment
  belongs_to :illust

  mount_uploader :file, ImageUploader
end

# illust.rb
class Illust
  has_many :attachments

  validates :attachments, length: {in: 1..10} # 10枚まで
end

f:id:MikazukiFuyuno:20170223221627p:plain:w300

と、エラーメッセージは画像のようになっちゃいます。
それだと意味不明で困るので、下のようにすれば良い感じになります✨️

ja:
  activerecord:
    attributes:
      illust:
        attachments: "添付ファイル"

    errors:
      models:
        illust:
          attributes:
            attachments:
              too_short: "は%{count}枚以上必要です。"

f:id:MikazukiFuyuno:20170223221519p:plain:w300

やったね。

ちなみに、バリデーションエラーのキーは、ここをみるといいかも。

rails-i18n/ja.yml at master · svenfuchs/rails-i18n · GitHub