title: Carrierwave image upload in nested form still creating record even no file is specified
body: <p>I have a Carrierwave image upload in a nested simple_form which works (sort of) unless the user does not specify a file, in which case a blank Picture object is created unless there was a previously existing one. Not quite sure how to make it so that if the user doesn't specify a "new" image to upload, the old one isn't deleted and/or a blank record without a file is created.</p>
  
  <p>One (maybe odd) thing I am doing is always sending the logged in @user to the user#edit action, then building a @user.picture if it doesn't exist. I am thinking this is where my bad design is.</p>
  
  <pre><code>    # user.rb
      class User &lt; ActiveRecord::Base
      [...]
  
        has_one :picture, :dependent =&gt; :destroy
        accepts_nested_attributes_for :picture
  
      [...]
      end
  
      # picture.rb
      class Picture &lt; ActiveRecord::Base
        attr_accessible :image, :remove_image
        belongs_to :user
        mount_uploader :image, ImageUploader
      end
  
      # users_controller.rb
      def edit
        if @user.picture.nil?
          @user.build_picture
        end
      end
  
      #_form.html.erb
      &lt;%= simple_form_for @user, :html =&gt; {:multipart =&gt; true} do |f| %&gt;
        &lt;%= render "shared/error_messages", :target =&gt; @user %&gt;  
        &lt;h2&gt;Picture&lt;/h2&gt;
        &lt;%= f.simple_fields_for :picture do |pic| %&gt;
          &lt;% if @user.picture.image? %&gt;
            &lt;%= image_tag @user.picture.image_url(:thumb).to_s %&gt;     
            &lt;%= pic.input :remove_image, :label =&gt; "Remove", :as =&gt; :boolean %&gt;
          &lt;% end %&gt;
          &lt;%= pic.input :image, :as =&gt; :file, :label =&gt; "Picture" %&gt;
          &lt;%= pic.input :image_cache, :as =&gt; :hidden %&gt;
        &lt;% end %&gt;
        &lt;br/&gt;
      #rest of form here
      &lt;% end %&gt;
  </code></pre>