Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails用户';看不见的页面';柜台_Ruby On Rails_Ruby_Devise_Counter - Fatal编程技术网

Ruby on rails Rails用户';看不见的页面';柜台

Ruby on rails Rails用户';看不见的页面';柜台,ruby-on-rails,ruby,devise,counter,Ruby On Rails,Ruby,Devise,Counter,我有一个简单的rails应用程序,使用Desive进行身份验证。我感兴趣的是为每个用户创建一个计数器,当他们访问某些页面时进行更新 例如: 用户计数器=4 用户访问A页 用户计数器=3 用户再次访问页面A 用户计数器=3 用户访问B页 用户计数器=2 我在查看计数器缓存,它统计与用户关联的模型实例的数量,这是否在正确的路径上?任何帮助都将不胜感激。谢谢 给这只猫剥皮的方法有一百万种。。。。。然而,这里有一个例子 您需要创建一个PageVisits连接模型,将用户连接到页面,并在该模型上手动增加计

我有一个简单的rails应用程序,使用Desive进行身份验证。我感兴趣的是为每个用户创建一个计数器,当他们访问某些页面时进行更新

例如:

用户计数器=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
class用户

正如我所说,在很多方面,这只是一个简单的方法。我个人会使用redis完成这类任务。

如果下面的答案解决了您的问题,请告诉我。