我从ActiveRecord find方法获得了最奇怪的行为。我试图通过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属性不匹配。它只返回空数组。 有谁知道为什么它不起作用?
答案 0 :(得分:1)
您的用户是否与想法有关联?从你的记录,我没有看到用户ID。我做了同样的查询,我可以找回答案。此外,您可以检查get_current_user是否正确。
答案 1 :(得分:1)
试试这个:
@updated = get_current_user.ideas.where(:updated_at => '2013-04-20 03:30:34').all
似乎所有(:conditions =&gt;'')都很难记住,并且会在较新的rails版本中弃用。我不确定。无论如何,我更喜欢'where'方法而不是'all'。
答案 2 :(得分:0)
所以问题是我忘了日期时间实际上是一个日期时间,并试图将它与字符串进行比较。这不起作用。谢谢大家帮忙