# Errors.add\_to\_base not actually adding any errors to base?

**URL:** <https://www.ruby-forum.com/t/errors-add-to-base-not-actually-adding-any-errors-to-base/126044>\
**Category:** Rails\
**Created:** [January 15, 2008, 12:20am UTC](https://www.ruby-forum.com/t/errors-add-to-base-not-actually-adding-any-errors-to-base/126044 "2008-01-15T00:20:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeffct](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/5f8ce5/32.png) [@jeffct](https://www.ruby-forum.com/u/jeffct)\
**Post date:** [January 15, 2008, 12:20am UTC](https://www.ruby-forum.com/t/errors-add-to-base-not-actually-adding-any-errors-to-base/126044/1 "2008-01-15T00:20:45Z")

</div>

I checked the API docs and found nothing about add\_to\_base gotchas…  
but when adding an error to the base of an ActiveRecord object, it  
essentially does nothing. The save/valid? methods work as if there  
were no errors, and of course the view does not display them. Code  
basically goes like this:

@order = account.orders.build  
@order.errors.add\_to\_base(“Must select at least one item”)  
if @order.save  
…

also tried @order.valid? instead of save

Both return true and the record is saved anyway. Any ideas?  
I am running Rails 1.2.6 as a gem.

---

<div class="post-metadata">

**Author:** ![jeffct](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/5f8ce5/32.png) [@jeffct](https://www.ruby-forum.com/u/jeffct)\
**Post date:** [January 15, 2008, 4:10am UTC](https://www.ruby-forum.com/t/errors-add-to-base-not-actually-adding-any-errors-to-base/126044/2 "2008-01-15T04:10:27Z")

</div>

I figured this out. The “save” and “valid?” methods call errors.clear  
before running, which was dumping the errors I had added.

Should have thought to put it in the model anyway, it is business  
logic after all. This works:

def validate  
if items.empty?  
errors.add\_to\_base(“Must select at least one item.”)  
end  
end
