如何使用rails中的public_activity gem跟踪设计登录和注销

问题描述 投票:0回答:1

我想跟踪用户登录和注销活动。我已经在使用public_activity gem来跟踪我的应用程序中其他模型的活动。

以下是我的应用程序中项目跟踪的示例:(project.rb)

class Project < ApplicationRecord
      include PublicActivity::Model
      tracked
end

现在我想通过public_activity gem跟踪设计登录和注销用户活动。我怎样才能做到这一点?

ruby-on-rails devise ruby-on-rails-5
1个回答
0
投票

我在我们的config/initializers发现了这个黑客。

Warden::Manager.after_set_user except: :fetch do |record, _warden, _options|
  record.create_activity(:signed_in, owner: record)
end

Warden::Manager.before_logout do |record, _warden, _options|
  record&.create_activity(:signed_out, owner: record)
end
© www.soinside.com 2019 - 2024. All rights reserved.