2014-02-26 135 views
1

我有一个User型号和UsageRecord型号,它有一个user_id的外键。我YAML灯具是这样的:Ruby on Rails测试夹具ID为0

test/fixtures/users.yml

user_one: 
    email: [email protected] 

test/fixtures/usage_records.yml

one: 
    user_id: user_one 

如果我跑rake test测试失败,因为在UsageRecorduser_id无效。如果我运行RAILS_ENV=test rails c并检查数据库,那么只有UsageRecorduser_id的ID为0(与Users表中的用户ID不匹配)。

我在这里做错了什么?我希望它具有与生成的User型号匹配的用户标识293267324。

UPDATE我发现了这个问题。而不是指定user_id,我不得不使用关联名称。将UsageRecord YAML切换到user: one的作品。

回答

1

诀窍是使用协会名称不是列名这最终将具有价值。例如,设置UsageRecord而不是设置user_id,请设置user。这将正确执行链接。