On Jun 15, 7:00 am, Le Sa <[email protected]> wrote:
> actually, if it is the same database, then there is no way to happen at
> the same time, right?
>
Unfortunately, not true.
Anything working purely at the ruby level (such as a validation) will
run into race conditions doing this. One of Rails' answers to this is
optimistic locking (described in the active record api docs).
Fred
> I don't know, maybe something like this:
>
> class Tablet < ActiveRecord::Base
>
> validate :must_have_in_stock
>
> def must_have_in_stock
> qnt = Tablet.find(product_id).quantity
> erros.add(:quantity, 'There is only ' + qnt + ' in stock.')
> if quantity > qnt
> end
> end
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---