我有一个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)
我必须按类别对所有记录进行分组,但结果为空。
你有解决方案吗?
答案 0 :(得分:0)
我找到了解决方案。
在我的spec文件中,我改变了:
before {@account = Account.create}
为此:
before {@account = Factory.create(:account)}
我的帐户无效。我不明白真正的问题,但它正在发挥作用。
谢谢大家。