RoR: Как мне подсчитать хиты по конкретным ссылкам? - PullRequest
0 голосов
/ 07 февраля 2012

Я новичок в Ruby on Rails

Я хочу подсчитывать хиты по конкретным ссылкам, хранить количество в базе данных, и было бы здорово, если бы он считал только уникальные ссылки.

Есть ли драгоценный камень или что-то?

1 Ответ

2 голосов
/ 07 февраля 2012

Добавьте это в свой ApplicationController (app/controllers/application_controller.rb):

before_filter :count_hits
def count_hits
  # This tries to find a existing PageHit by the given url. If it does
  # not find one, it creates one.
  @hit = PageHit.find_or_create_by_url(request.url)

  # Issues an UPDATE page_hits WHERE id = 123 SET count = count + 1
  # on the underlying database layer. This atomically increments, so
  # you do not run into race conditions.
  PageHit.increment_counter(:count, @hit.id)
end

Убедитесь, что вы создали модель PageHit, содержащую строку URL и целое число.

...