You should be doing it like this: Temp.increment_counter( :counter, id )
This will increment the property ":counter" for the model Temp with "id", this column must have a default value of 0 (zero) or else this call won't work. On Wed, Sep 10, 2008 at 12:59 PM, Difei Zhao <[EMAIL PROTECTED]> wrote: > > Greetings all, > > I have a model which holds a counter field, the field have to be > incremented frequently to record the access frequency of the specific > object: > > @obj = Temp.find(id) > @obj.counter += 1 > @obj.save > > The implementation seems quite simple, but I am worrying about the > race condition (if there are any, I do not know whether rails is > thread-safe) since these statements may be interleaved. Could anyone > help about this? Thanks very much! > > Difei > -- > Posted via http://www.ruby-forum.com/. > > > > -- Maurício Linhares http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/ (en) João Pessoa, PB, +55 83 8867-7208 --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

