title: object.valid? returns false but object.errors.full_messages is empty
body: <p>I'm confuse about objects that I can't save, simplified model is </p>
  
  <pre><code>class Subscription &lt; ActiveRecord::base
      belongs_to :user, :class_name =&gt; "User", :foreign_key =&gt; "user_id"
  has_many :transactions, :class_name =&gt; "SubscriptionTransaction" 
  
  validates_presence_of :first_name, :message =&gt; "ne peut être vide"
  validates_presence_of :last_name, :message =&gt; "ne peut être vide"
  validates_presence_of :card_number, :message =&gt; "ne peut être vide"
  validates_presence_of :card_verification, :message =&gt; "ne peut être vide"
  validates_presence_of :card_type, :message =&gt; "ne peut être vide"
  validates_presence_of :card_expires_on, :message =&gt; "ne peut être vide"
  
  attr_accessor :card_number, :card_verification
  
  validate_on_create :validate_card
  
      def validate_card 
      unless credit_card.valid?
          credit_card.errors.full_messages.each do |message|
              errors.add_to_base message
          end
      end
  end
  
  def credit_card
      @credit_card ||= ActiveMerchant::Billing::CreditCard.new(
          :type =&gt; card_type,
          :number =&gt; card_number,
          :verification_value =&gt; card_verification,
          :month =&gt; card_expires_on.month,
          :year =&gt; card_expires_on.year,
          :first_name =&gt; first_name,
          :last_name =&gt; last_name
      )
  end
  end 
  </code></pre>
  
  <p>and in my subscription_controller </p>
  
  <pre><code>if subscription.save
       # do something
  else
       debugger # means breakpoint where i try subscription.errors.full_messages
       # do something else
  end 
  </code></pre>
  
  <p>I tried to use ruby-debug for this adding a breakpoint where i do some tests</p>
  
  <pre><code>subscription.valid? #=&gt; false 
  subscription.errors.full_messages #=&gt; []
  subscription.save! #=&gt; ActiveRecord::RecordInvalid (Validation failed:)
  </code></pre>
  
  <p>which explains that ActiveRecord doesn't allow the save method. Unfortunately i can't know why the object is invalid.</p>
  
  <p>If you have any idea, thank you. </p>