gpt4 book ai didi

ruby-on-rails - Rails 用户 'unseen pages' 计数器

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:30 25 4
gpt4 key购买 nike

我有一个使用 devise 进行身份验证的简单 Rails 应用程序。我有兴趣为每个访问特定页面时更新的用户创建一个计数器。

例如:

用户计数器 = 4

用户访问页面A用户计数器 = 3

用户再次访问页面A用户计数器 = 3

用户访问页面B用户计数器 = 2

我正在研究计算与用户关联的模型实例数量的计数器缓存,这在某种程度上是正确的吗?任何帮助,将不胜感激。谢谢!

最佳答案

给这只猫剥皮的方法有一百万种.....但这里只介绍一种。

您需要创建一个将用户连接到页面的 PageVisits 连接模型,并且在该模型上有您手动递增的计数器。

class User < ActiveRecord::Base
has_many :page_visits
end

class Page < ActiveRecord::Base
has_many :page_visits
end

class PageVisits < ActiveRecord::Base
belongs_to :page
belongs_to :user
end

class CampaignsController < ApplicationController
def show
@page = Page.find(params[:id]

if current_user
page_visit = @page.page_visits.where(user_id: current_user.id).first_or_create
page_visit.increment(:visits)
end

respond_with(@page)
end
end

就像我说的,有很多方法,这只是一种简单的方法。我个人会使用 Redis 来完成这种任务。

关于ruby-on-rails - Rails 用户 'unseen pages' 计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16062865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com