0

我从 ActiveRecord 查找方法中得到了最奇怪的行为。我试图在 updated_at 日期之前找到一条记录,但它正在返回 []。这是代码:

      @updated = get_current_user.ideas.all(:conditions => {:updated_at => '2013-04-20 03:30:34'})

这是应该返回的记录:

 #<Idea id: 3, title: "An app that tracks useage", status: "prototype", user_id: 1, updated_at: "2013-04-20 03:30:34"

我让它工作了大约 2 秒钟,然后,什么也没有。问题似乎是它与 updated_at 属性不匹配。它只返回空数组。有谁知道为什么它不工作?

4

3 回答 3

1

您的用户是否与想法有关联?从您的记录中,我没有看到用户 ID。我做了同样的查询,我可以检索到我的答案。此外,您可以检查您的 get_current_user 是否正确。

于 2013-04-21T22:57:41.107 回答
1

尝试这个:

@updated = get_current_user.ideas.where(:updated_at => '2013-04-20 03:30:34').all

似乎 all(:conditions => '') 很难记住,并且将在较新的 Rails 版本中被弃用。我不知道。无论如何,我更喜欢“where”方法而不是“all”。

于 2013-04-21T22:58:39.403 回答
0

所以问题是我忘记了日期时间实际上是一个日期时间,并试图将它与一个字符串进行比较。那是行不通的。谢谢大家帮忙

于 2013-04-22T00:14:02.240 回答