title: before_create still saves
body: <p>Before everything i would like to thank you for your help</p>
  
  <p>I have a model like this:  </p>
  
  <pre><code>  attr_protected nil
    belongs_to :product
    belongs_to :user
    before_create :add_ammount
  
    def carted_product_price(ammount, price)
      ammount * price
    end
  
    def add_ammount
      carted_product = CartedProduct.where(:product_id =&gt; self.product_id, :user_id =&gt; self.user_id)
      if carted_product
        carted_product.first.ammount += self.ammount
        carted_product.first.update_attributes(:ammount =&gt; carted_product.first.ammount)
      else
        self.save
      end
    end
  </code></pre>
  
  <p>it saves buying orders in a table called Carted_Products connected to Users and Products in the belogings</p>
  
  <p>the problem is that when the <strong>Before create</strong> executes i want it to update the record in the table adding the ammount passed by the controller if the record already exists and if not, create one, as far as iv done, it updates the ammount but STILL CREATES A NEW one with the passed params in the order, i want it only to update, not to do both actions when the record is found</p>
  
  <p>thnx for your patience</p>
  
  <p>EDIT:</p>
  
  <p>Tried returning false after the update attributes, it cancels the filter, and dont create or update attributes</p>