Ruby on rails Rails使用时间对象进行查询,而不返回特定于日期的对象

Ruby on rails Rails使用时间对象进行查询,而不返回特定于日期的对象,ruby-on-rails,Ruby On Rails,好吧,我在查询我的工作表时遇到了问题。我想做的是在日历中填入与各自日期对应的工作。在我的代码片段中,我使用了gem pry。使用console中当前的逻辑行28,我的目标是搜索jobs表,它将在同一天返回所有作业。现在,当我呈现原样时,每个日期都填充了所有5个作业对象。当我用你在控制台上看到的东西撬动时,我得到了前3个。前3个都有相同的created_at date,但我不知道为什么在控制台的情况下,当我只要求一个时,它会返回这些 供参考: @日历日是一个填充了时间对象格式ex 2018-05-

好吧,我在查询我的工作表时遇到了问题。我想做的是在日历中填入与各自日期对应的工作。在我的代码片段中,我使用了gem pry。使用console中当前的逻辑行28,我的目标是搜索jobs表,它将在同一天返回所有作业。现在,当我呈现原样时,每个日期都填充了所有5个作业对象。当我用你在控制台上看到的东西撬动时,我得到了前3个。前3个都有相同的created_at date,但我不知道为什么在控制台的情况下,当我只要求一个时,它会返回这些

供参考: @日历日是一个填充了时间对象格式ex 2018-05-16 08:30:00-0400的数组

如果你们需要更多信息,请告诉我,并提前感谢你们的帮助

编辑:澄清。当我用一个日期为16的时间对象搜索时,我不明白为什么会得到3个日期为16、22和16的对象

21: 22: 23: 24: 25: => 26: 27: 28: 29: 30: 31: [1] pry>@jobs.where:datetime==Time.new2018-05-16 08:30:00-0400 作业加载0.0ms从作业中选择作业。* => [, , 我假设Jobs.datetime列类型为datetime,但您尝试按日期而不是日期时间列出项目。我认为以下查询应该可以工作:

@jobs.where'DateTime=?',Date.parse'Wed,2018年5月16日'

日期…部分将日期时间转换为日期。

我假设Jobs.datetime列类型为datetime,但您尝试按日期而不是日期时间列出项目。我认为以下查询应该可以工作:

@jobs.where'DateTime=?',Date.parse'Wed,2018年5月16日'



日期…部分将日期时间转换为日期。

问题到底出在哪里?是否为您的用例生成了正确的标记?@NicoHaase我编辑了我的帖子以澄清问题。基本上,在我的pry中,我只希望得到两个Job对象,因为我查询的是一个日期为05/16的时间对象,但我得到了三个;其中两个是我想要的,因为它们在16号,但有一个在22号。@GregoryJaros这一定是查询。如果运行where DateTime:DateTime.parse'2018-05-16 08:30:00-0400',会发生什么?@Dimitry\N我现在得到一个对象…[1]pry>@jobs.wheredatetime:DateTime.parse'2018-05-16 08:30:00-0400'作业加载0.0ms选择作业。*从作业中,jobs.DateTime=?[[DateTime,2018-05-16 12:30:00]=>[]@GregoryJaros那么现在你得到了一个与你想要的日期匹配的作业,对吗?顺便说一句,其中返回一个集合,如果你将它更改为find_bydatetime:…,你将得到第一个与这个日期匹配的记录。问题到底出在哪里?是否为你的用例生成了正确的标记?@NicoHaase我编辑了我的帖子以澄清。Basically,在我的pry中,我只希望得到两个Job对象,因为我正在使用一个日期为05/16的时间对象进行查询,但我得到了三个;其中两个对象是我想要的,因为它们在16日,但一个在22日。@GregoryJaros这一定是查询。如果运行where DateTime:DateTime.parse'2018-05-16 08:30:00-0400'?@Dimitry\N我现在得到一个对象…[1]pry>@jobs.wheredatetime:DateTime.parse'2018-05-16 08:30:00-0400'作业加载0.0ms选择作业。*从作业中,jobs.DateTime=?[[DateTime,2018-05-16 12:30:00]=>@GregoryJaros那么现在你得到了一个与你想要的日期匹配的作业,对吗?顺便说一句,其中返回一个集合,如果你将其更改为find_bydatetime:…,你将得到与此日期匹配的第一条记录。它似乎没有任何作用。它在下一行添加了一个*。[1]pry>@jobs.where'datetime=?',Date.parse'Wed,2018年5月16日'[1]pry*@GregoryJaros忘了关闭paren。UpdatedNevermind!只是最后忘了一个哈哈。这返回了我的3个对象。谢谢你。我不确定我是否能找到它。到目前为止,我自己花了将近4个小时试图修复它。好吧,现在我很难将解决方案适应我的嵌入式ruby代码。你能翻译一下吗是否执行了查询?@GregoryJaros有什么错误?请在此处显示:它似乎没有任何作用。它在下一行添加了一个*。[1]pry>@jobs.where'DATEdatetime=?',Date.parse'Wed,2018年5月16日'[1]pry*@GregoryJaros忘了关闭paren。UpdatedNevermind!只是最后忘了一个哈哈。这返回了我的3个对象。谢谢你。我不确定我是否能找到它。到目前为止,我自己花了将近4个小时试图修复它。好吧,现在我很难将解决方案适应我的嵌入式ruby代码。你能翻译一下吗是否接受了查询?@GregoryJaros有什么错误?请在此处显示: