Why don't I get the correct error messages?

This is my model

    class Product < ActiveRecord::Base

      validates_presence_of :title, :description, :image_url       validates_numericality_of :price       validate :price_must_be_at_least_a_cent       validates_uniqueness_of :title       validates_format_of :image_url,                           :with => %r{\.(gif|jpg|png)$}i,                           :message => 'must be a URL for GIF, JPG ' +                           'or PNG image.(gif|jpg|png)'

      protected       def price_must_be_at_least_a_cent       errors.add(:price, 'should be at least 0.01' ) if price.nil? ||       price < 0.01       end     end

It validates all the errors correctly but i get the generic error messages.

These are the error messages I get

There were problems with the following fields: {{attribute}} {{message}} {{attribute}} {{message}} {{attribute}} {{message}} {{attribute}} {{message}} {{attribute}} {{message}}

This is due to incompatibility in your rails version and i18n version.

If you are on Rails 2.3 branch… then upgrade to 2.3.8 or higher

or copy over the error messages yml file from your activerecord gem installation into your locales directory

and change {{attribute}} to %{attribute}

{{message}} to %{message}

{{count}} to %{count}

and so on

Chirag http://sumeruonrails.com