Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.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/5/google-sheets/3.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 如何使用创建的_在创建日期范围_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何使用创建的_在创建日期范围

Ruby on rails 如何使用创建的_在创建日期范围,ruby-on-rails,Ruby On Rails,我正在尝试在Rails应用程序中获取过去30天内创建的纵断面图总数。下面的代码生成的结果为“0”,而预期结果为“1”(即我查看了一次配置文件)。我想知道我是不是把这个范围弄错了。Rails没有抛出错误 @profileviews = Profileview.where({:user_id => @user.id, :created_at => (Date.today)..(Date.today - 30)}).count 注意,我希望它包含在计数中的profileview是今天创

我正在尝试在Rails应用程序中获取过去30天内创建的纵断面图总数。下面的代码生成的结果为“0”,而预期结果为“1”(即我查看了一次配置文件)。我想知道我是不是把这个范围弄错了。Rails没有抛出错误

 @profileviews = Profileview.where({:user_id => @user.id, :created_at => (Date.today)..(Date.today - 30)}).count
注意,我希望它包含在计数中的profileview是今天创建的


创建于:“2013-05-31 14:43:55”
您的范围是向后的,需要从低到高:

:created_at => (Date.today - 30)..(Date.today)

使用某人已删除评论中的代码
:created_at=>((Date.today-30)…Date.today)
它仍然显示“0”。注意,我希望它包含在计数中的配置文件视图是今天创建的。在我发布答案后看到了这一点。您可以发布正在执行的查询吗?在末尾添加.to_-sql而不是.count将产生这种效果。to_-sql是一个巧妙的技巧:
从“Profileview”中选择“Profileview”。*user_-id=56和(“Profileview”。“created_-at”介于'2013-05-01'和'2013-05-31'之间)
这是为Profileview创建的时间,它应该包括
created_-at:“2013-05-31 14:43:55”
我在评论中将sql发布到OP。请注意,纵断面图(我希望包含在计数中)是今天创建的,可能只是一天中的某个时间问题?(在我以正确的顺序获得日期范围后)这是为纵断面图创建的时间,我希望它包含
创建的时间:“2013-05-31 14:43:55”“
我可能只做Date.today.end_of_day使用
时间。现在用
代替
日期。今天
在范围的后半部分产生了差异(一旦我按正确的顺序得到它们)。谢谢你的帮助。