Page views counter

Hi all,

I’ve made a really simple page views counter.

def show
@post = Post.find…
addcount = @post.views += 1
@post.update_attribute “views”, addcount
end

Its working fine, but if someone hold the F5 key, it keeps counting and
counting. Which is not a really good. Is there a way how to force the
counter to not keep counting while someone is holding the F5 key?

THX P.

On Fri, Dec 5, 2008 at 5:09 PM, Petan C.
[email protected] wrote:

I’ve made a really simple page views counter.

def show
@post = Post.find…
addcount = @post.views += 1
@post.update_attribute “views”, addcount

You don’t need the extra variable.

@post.update_attribute ‘views’, @post.views + 1

end

Its working fine, but if someone hold the F5 key, it keeps counting and
counting. Which is not a really good. Is there a way how to force the
counter to not keep counting while someone is holding the F5 key?

Store their IP address and a timestamp and then don’t count more views
from that same IP for a while.

For the IP address use request.env[ ‘HTTP_X_FORWARDED_FOR’ ] if your
Rails app is behind a proxy, or request.env[ ‘REMOTE_ADDR’ ] if it’s
not.


Greg D.
http://destiney.com/