一个模型发送两个相同的SQL,但两个不同的结果
问题描述:
我有一个轨道应用程序与帐户和记录之间的关联。一个帐户有很多记录。我用RSpec运行代码。一个模型发送两个相同的SQL,但两个不同的结果
我在Account类这个功能:
data = records
puts data.to_sql
puts data.size
我有这样的结果:
SELECT "records".* FROM "records" WHERE "records"."account_id" = 1
4
但是,当我有这样的功能:
data = Record.where(:account_id => 1)
puts data.to_sql
puts data.size
我有这样的结果:
SELECT "records".* FROM "records" WHERE "records"."account_id" = 1
0
这是相同的请求,但我没有相同的结果。为什么???
最后,我想要做这样的事情:
records.group(:category_id)
我必须有我的所有记录按类别分组,但我有一个空的结果。
你有解决方案吗?
答
我找到了解决方案。
在我的规格文件我改变了这一切:
before {@account = Account.create}
为:
before {@account = Factory.create(:account)}
我的帐号是无效的。我不明白真正的问题,但它的工作。
谢谢大家。
是你在GitHub或SourceForge上的代码,所以我们可以更详细地看看它吗?这里肯定会有些棘手的事情发生,但是我不能说出你发布的内容是什么。我真的很想看到模型定义和规格,至少。 – jefflunt 2012-01-10 02:24:57