一个模型发送两个相同的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) 

我必须有我的所有记录按类别分组,但我有一个空的结果。

你有解决方案吗?

+1

是你在GitHub或SourceForge上的代码,所以我们可以更详细地看看它吗?这里肯定会有些棘手的事情发生,但是我不能说出你发布的内容是什么。我真的很想看到模型定义和规格,至少。 – jefflunt 2012-01-10 02:24:57

我找到了解决方案。

在我的规格文件我改变了这一切:

before {@account = Account.create} 

为:

before {@account = Factory.create(:account)} 

我的帐号是无效的。我不明白真正的问题,但它的工作。

谢谢大家。