[Rails] When to use optimistic locking?

Jason Tuttle
2006-05-09T16:24:52Z

Hi All,

I''m having some trouble deciding when and how to implement optimistic
locking.

Let''s say I have a multiuser Rails app, and let''s say it
stores,
among other things "vital" customer information.

The standard methods created by the Rails generate scaffold script
look like this:

   def edit
     @customer = Customer.find(params[:id])
   end

   def update
     @customer = Customer.find(params[:id])
     if @customer.update_attributes(params[:customer])
       flash[:notice] = ''Customer was successfully updated.''
       redirect_to :action => ''show'', :id => @customer
     else
       render :action => ''edit''
     end
   end

What if I want to guard against 2 people simultaneously updating the
same customer record? How would I go about doing this? I can''t find
any examples online, and I''m a bit lost.

Thanks,

: )

Jason