Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 获取RubyonRails中前一天、前一周或前一个月的用户数_Ruby On Rails - Fatal编程技术网

Ruby on rails 获取RubyonRails中前一天、前一周或前一个月的用户数

Ruby on rails 获取RubyonRails中前一天、前一周或前一个月的用户数,ruby-on-rails,Ruby On Rails,在我的ruby on rails应用程序中,我想获得在我的应用程序中前一天、前一周和前一个月创建和删除帐户的用户数。基本上,我想显示在一天内创建帐户的用户(表示从当前小时到前一个剩余小时),一周(指从当天到前几天)和一个月(指从当天到前几天) 我正在尝试使用下面的方法: # Controller @users = User.all(:conditions => ["created_at >= ?", Date.today.at_beginning_of_month]) # View

在我的ruby on rails应用程序中,我想获得在我的应用程序中前一天、前一周和前一个月创建和删除帐户的用户数。基本上,我想显示在一天内创建帐户的用户
(表示从当前小时到前一个剩余小时)
,一周
(指从当天到前几天)
和一个月
(指从当天到前几天)

我正在尝试使用下面的方法:

# Controller
@users = User.all(:conditions => ["created_at >= ?", Date.today.at_beginning_of_month])

# View
Date.today.at_beginning_of_month.upto(Date.today).each do |date|
  <%= date %>: <%= @users.select{|u| u.created_at == date }.size %>
end
#控制器
@users=User.all(:条件=>[“创建时间>=?”,日期。今天。在月初])
#看法
日期。今天。在月初。截至(日期。今天)。每个日期|
: 
结束

但它让我知道了过去一个月每天的用户数。

我会尝试以下方法:

例如,如果要选择在最近一小时内创建的用户:

  @date_start = DateTime.now
  @date_end = @date_start - 1.hour
  @users = User.where(:created_at => @date_end..@date_start)
让我们先这样说:

@date = DateTime.now - 10.days
@users = User.all(:conditions => ['created_at > ?', @date]) // fetch all users created within last 10 days until now
然后,按日期将其分组:

@days = @users.group_by {|user| user.created_at.to_date }
然后,您应该对这些分组的日期进行迭代并打印它们:

@days.each do |day, users|
    <%= day %>: <%= users.size %>
end
@days.each do| day,用户|
: 
结束

但是我没有具体的日期和时间,我想要这一天,从当前时间
(time.now)
到24小时结束,同样是一周,从当前时间
(time.now)
到一周结束,同样是一个月,从当前时间
(time.now)
到一个月结束的地方。我想得到count,所以我添加了
.count
如下
@users=User.where(:created\u at=>@date\u end..@date\u start).count
。但它不会给我任何结果。它不会给我任何错误,但在我的查看页面中,在这一行,
过去24小时内注册的用户数:
,它不会给我显示任何计数值。你能简单地在控制台中用:
put@users
打印出来吗?结果是什么?你在过去一小时内创建了用户吗?它正在工作。T汉克斯,请告诉我,我怎样才能在
1周
1个月
内做到这一点。