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
-~----------~----~----~----~------~----~------~--~---

Reply via email to