模型发送两个相同的SQL但两个不同的结果

时间:2012-01-10 02:21:54

标签: ruby-on-rails-3.1

我有一个rails应用程序,其中包含Account和Record之间的关联。一个帐户有很多记录。我用RSpec运行代码。

我在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 个答案:

答案 0 :(得分:0)

我找到了解决方案。

在我的spec文件中,我改变了:

before {@account = Account.create}

为此:

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

我的帐户无效。我不明白真正的问题,但它正在发挥作用。

谢谢大家。