Errors.add_to_base not actually adding any errors to base?

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.

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs