2014-02-26 114 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。這將正確執行鏈接。