Как реализовать счетчик входа для Ruby on Rails? - PullRequest
1 голос
/ 21 сентября 2019

Итак, в моем проекте ruby ​​on rails я хочу отслеживать, сколько раз пользователь заходил в систему. Я использую devise для аутентификации.Сейчас я думаю, что того, что у меня есть, достаточно для моего текущего проекта, у меня просто проблема с добавлением столбца login_count из моего базы данных.

Фрагмент Application.rb:

def after_sign_in_path_for(resource)
    if current_user.login_count == 0
      new_user_profile_path(user_id: current_user.id)
    else
      root_path
    end
    User.user_id.increment_counter(:login_count, 1)
  end

Rightтеперь User.user_id.increment_counter(:login_count,1) дает мне undefined method `to_model' for 1:Integer Did you mean? to_yaml.

1 Ответ

1 голос
/ 21 сентября 2019

Было бы гораздо лучше предоставить пользовательский SessionsController и изменить действие create для выполнения необходимых действий.

Используйте генератор устройств для создания контроллеров, с которыми вы будете работать, еслиты еще неЗатем в вашем sessions_controller.rb добавьте что-то вроде этого:

def create
  super do |resource|
    # at this point, resource is your logged in user (or whatever model)
    resource.class.increment_counter(:login_count, resource.id)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...