<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -92,17 +92,19 @@ module ActiveRecord
           :&quot;custom.#{klass.name.underscore}.#{message}&quot; ]
       end
       
-      defaults &lt;&lt; options[:default] if options[:default]
-      defaults.flatten! &lt;&lt; message
+      defaults &lt;&lt; options.delete(:default)
+      defaults = defaults.compact.flatten &lt;&lt; message
 
       model_name = @base.class.name
       key = defaults.shift
-
-      options.merge!({ 
-          :default =&gt; defaults,
-          :model =&gt; @base.class.human_name,
-          :attribute =&gt; @base.class.human_attribute_name(attribute.to_s),
-          :scope =&gt; [:activerecord, :errors, :messages] })
+      value = @base.send(attribute) if @base.respond_to?(attribute)
+
+      options = { :default =&gt; defaults,
+        :model =&gt; @base.class.human_name,
+        :attribute =&gt; @base.class.human_attribute_name(attribute.to_s),
+        :value =&gt; value,
+        :scope =&gt; [:activerecord, :errors, :messages]
+      }.merge(options)
 
       I18n.translate(key, options)
     end</diff>
      <filename>activerecord/lib/active_record/validations.rb</filename>
    </modified>
    <modified>
      <diff>@@ -48,7 +48,7 @@ class ActiveRecordValidationsI18nTests &lt; Test::Unit::TestCase
 
       I18n.expects(:translate).with(:topic, {:count =&gt; 1, :default =&gt; ['Topic'], :scope =&gt; [:activerecord, :models]}).returns('Topic')
       I18n.expects(:translate).with(:'topic.title', {:count =&gt; 1, :default =&gt; ['Title'], :scope =&gt; [:activerecord, :attributes]}).returns('Title')
-      I18n.expects(:translate).with(:&quot;custom.topic.title.invalid&quot;, :scope =&gt; global_scope, :default =&gt; [:&quot;custom.topic.invalid&quot;, 'default from class def error 1', :invalid], :attribute =&gt; &quot;Title&quot;, :model =&gt; &quot;Topic&quot;).returns('default from class def error 1')
+      I18n.expects(:translate).with(:&quot;custom.topic.title.invalid&quot;, :value =&gt; nil, :scope =&gt; global_scope, :default =&gt; [:&quot;custom.topic.invalid&quot;, 'default from class def error 1', :invalid], :attribute =&gt; &quot;Title&quot;, :model =&gt; &quot;Topic&quot;).returns('default from class def error 1')
       @topic.errors.generate_message :title, :invalid, :default =&gt; 'default from class def error 1'
     end
 
@@ -56,7 +56,7 @@ class ActiveRecordValidationsI18nTests &lt; Test::Unit::TestCase
       custom_scope = [:activerecord, :errors, :custom, 'topic', :title]
       I18n.expects(:translate).with(:reply, {:count =&gt; 1, :default =&gt; [:topic, 'Reply'], :scope =&gt; [:activerecord, :models]}).returns('Reply')
       I18n.expects(:translate).with(:'reply.title', {:count =&gt; 1, :default =&gt; [:'topic.title', 'Title'], :scope =&gt; [:activerecord, :attributes]}).returns('Title')
-      I18n.expects(:translate).with(:&quot;custom.reply.title.invalid&quot;, :scope =&gt; [:activerecord, :errors, :messages], :default =&gt; [:&quot;custom.reply.invalid&quot;, :&quot;custom.topic.title.invalid&quot;, :&quot;custom.topic.invalid&quot;, 'default from class def', :invalid], :model =&gt; 'Reply', :attribute =&gt; 'Title').returns(&quot;default from class def&quot;)
+      I18n.expects(:translate).with(:&quot;custom.reply.title.invalid&quot;, :value =&gt; nil, :scope =&gt; [:activerecord, :errors, :messages], :default =&gt; [:&quot;custom.reply.invalid&quot;, :&quot;custom.topic.title.invalid&quot;, :&quot;custom.topic.invalid&quot;, 'default from class def', :invalid], :model =&gt; 'Reply', :attribute =&gt; 'Title').returns(&quot;default from class def&quot;)
       Reply.new.errors.generate_message :title, :invalid, :default =&gt; 'default from class def'
     end
 </diff>
      <filename>activerecord/test/cases/validations_i18n_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c531248938302477c5e52138d59a6c3d1527d963</id>
    </parent>
  </parents>
  <author>
    <name>Iain Hecker</name>
    <email>github@iain.nl</email>
  </author>
  <url>http://github.com/rails/rails/commit/e2b191681e1c8c8b4344f1fc755e48fccdd1d603</url>
  <id>e2b191681e1c8c8b4344f1fc755e48fccdd1d603</id>
  <committed-date>2008-08-20T08:41:43-07:00</committed-date>
  <authored-date>2008-08-16T12:45:23-07:00</authored-date>
  <message>Added :value as interpolation variable available to error messages</message>
  <tree>3ceb26919e5da195fefc88dae4f88e87a395d02a</tree>
  <committer>
    <name>Sven Fuchs</name>
    <email>svenfuchs@artweb-design.de</email>
  </committer>
</commit>
