Ruby on Rails - 如果记录重复显示第一个创建

时间:2017-11-25 12:09:19

标签: ruby-on-rails-4 group-by uniq

在我的应用程序中,我展示了访问过他们网站的网站,新IP。每天都需要显示新的IP和唯一的。

示例:

192.45.11.74 访问 11月12日

192.45.11.74 访问 11月15日(同一用户/ IP)

我不想在11月15日登记,因为它已经在11月12日注册了

我就是这样做的:

@visits = Visit.order('started_at DESC').group(:ip)

这给了我独特的IP,我现在的问题是在显示每个日期的IP时,如果IP已经注册 9月24日,他们再次访问 10月15日,而不是在 10月15日 中显示相同的IP(因为它已在9月24日显示),它会添加新日期IP并在 10月15日再次显示 (并将其从 9月24日中移除

PS:对不起,如果它解释了

如何防止这种情况,并且只显示每天从未注册过的IP?

1 个答案:

答案 0 :(得分:0)

@visits = Visit.order('started_at DESC').group(:ip).group_by do |visit| 
  visit.started_at.to_date
end.values.map(&:last)