title: accepts_nested_attributes_for & :reject_if. How to prevent rejection until parent association saves?
body: <pre><code>class Gift &lt; ActiveRecord::Base
    has_many :contributions
    accepts_nested_attributes_for :contributions, :reject_if =&gt; proc { |a| a['amount'].blank? }
  </code></pre>
  
  <p>Contribution has a :nickname attribute. In the :new form, it is pre-populated with the user's real name. A user might decide to change it to "Uncle Bob" (or whatever).  Unfortunately, with :reject_if, if no amount is specified in the contribution, the :nickname change is lost when :new reloads in cases where @gift is not valid.  This happens because the nested contribution_attributes are rejected.  How do we preserve the :nickname change and only handle the rejection when @gift is actually saved?</p>