Ruby on rails 为什么不';我不能得到正确的错误消息吗?

Ruby on rails 为什么不';我不能得到正确的错误消息吗?,ruby-on-rails,Ruby On Rails,这是我的模型 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_f

这是我的模型

    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
类产品%r{\.(gif | jpg | png)$}i,
:message=>'必须是GIF、JPG的URL'+
'或PNG图像(gif | jpg | PNG)'
受保护的
def价格必须至少为1美分
错误。如果price.nil,是否添加(:price,'应至少为0.01')||
价格<0.01
结束
结束
它正确地验证了所有错误,但我得到了一般错误消息。下面是错误消息的屏幕截图


我做错了什么?

问题出在I18n gem版本中。如果您使用Rails3或Rails3.1,您应该使用最新的稳定gem。如果您使用Rails 2.3.x,请使用旧版本。

卸载gem:I18n并查看消息是否正常。

是否安装了I18n gem?我的I18n gem版本为0.5.0,我的Rails版本为2.3.5。我是否应该使用旧版本的I18n?我还支持Rails上的project-V2.3.5(我已经安装了I18n-V0.4.0)。尝试安装-v 0.4.0,然后卸载-v 0.5.0