title: Destroy on blank nested attribute
body: <p>I would like to destroy a nested model if its attributes are blanked out in the form for the parent model - however, it appears that the <code>ActiveRecord::Callbacks</code> are not called if the model is blank.</p>
  
  <pre><code>class Artist &lt; ActiveRecord::Base
    using_access_control
    attr_accessible :bio, :name, :tour_dates_attributes
    has_many :tour_dates, :dependent =&gt; :destroy
    accepts_nested_attributes_for :tour_dates, :reject_if =&gt; lambda { |a| a[:when].blank? || a[:where].blank? }, :allow_destroy =&gt; true
    validates :bio, :name :presence =&gt; true
  
    def to_param
      name
    end
  end
  </code></pre>
  
  <p>and</p>
  
  <pre><code>class TourDate &lt; ActiveRecord::Base
    validates :address, :when, :where, :artist_id, :presence =&gt; true
    attr_accessible :address, :artist_id, :when, :where
    belongs_to :artist
    before_save :destroy_if_blank
  
    private
    def destroy_if_blank
      logger.info "destroy_if_blank called"
    end
  end
  </code></pre>
  
  <p>I have a form for Artist which uses <code>fields_for</code> to show the fields for the artist's associated tour dates, which works for editing and adding new tour dates, but if I merely blank out a tour date (to delete it), <code>destroy_if_blank</code> is never called. Presumably the Artist controller's <code>@artist.update_attributes(params[:artist])</code> line doesn't consider a blank entity worth updating.</p>
  
  <p>Am I missing something? Is there a way around this?</p>