rails - номер трека логина - PullRequest
0 голосов
/ 22 февраля 2010

Я бы хотел отследить, сколько раз пользователь заходит на мой сайт, который является приложением Rails. Есть ли какой-нибудь другой вызов, такой как «create_on или updated_on», который может сделать небольшой счетчик в моей модели, который отслеживает такую ​​информацию? В настоящее время я использую restful-аутентификацию.

Ответы [ 2 ]

3 голосов
/ 22 февраля 2010

Я бы добавил поле login_count к вашей модели User / Account. Затем измените этот метод в User / Account модель:

def self.authenticate(login, password)
  return nil if login.blank? || password.blank?
  u = find_by_login(login) # need to get the salt
  u && u.authenticated?(password) ? u.increase_login_count : nil
end

и добавьте этот метод к модели:

def increase_login_count
  self.login_count += 1
  self.save
  self
end
2 голосов
/ 22 февраля 2010

Вы можете создать столбец в пользовательской таблице с именем login_count или чем-то еще, а затем в методе SessionsController.create

if user
    user.login_count += 1
    user.save(false)     #update without validations.

    # .... other RestfulAuthentication generated code ....
...