计算已在rails中查看特定页面的用户

时间:2014-02-18 23:20:00

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

如何为我的rails应用程序实现与Linkedin相同的功能(计算浏览我的个人资料页面的用户),以便用户收到已查看其个人资料的用户的通知?

2 个答案:

答案 0 :(得分:1)

您应该添加新模型,例如:

class PageView
    belongs_to :page
    belongs_to :user
end

像这样使用:

PageView.create(page: @page, user: current_user) # to register page view
PageView.where(page: @page).count # to get views count for particular page
PageView.where(page: @page, created_at: 1.week.ago..Time.now) # to get views count for particular page for a week

答案 1 :(得分:1)

首先,您需要定义访问模型。它至少具有以下属性:

  • id(访问ID)
  • user_id(访客的ID)
  • page_url(访问过的页面)
  • created_at(访问的日期和时间)

然后您可以决定将它存储在像MySQL这样的Relationa数据库中,或者存储在像MongoDB这样的NO-SQL中。对于这种情况,任何一个都可能是一个不错的选择。

如果您决定使用SQL解决方案,只需在has_many :visits模型中添加User,在:belongs_to :user模型中添加Visit即可。

这是一个很好的起点。