2009-02-04 50 views
25

我正在閱讀關於這個guide(謝謝,trevorturk)的Rails燈具。看起來你可以在Yaml文件中定義類,並且它們會自動加載到test DB中 - 很酷。Rails燈具 - 你如何設置外鍵?

但是,如果你想指定這個食譜屬於該食譜(或其他),你怎麼做?

您是否應該在Yaml代碼中手動指定cookbook.idrecipe.cookbook_id的值? (只是一個猜測 - 指南並沒有顯示這樣的東西。)還是有更合適的方法?

回答

53

你應該使用命名的燈具,它會自動生成一個你沒有提供的編號。這些id號基本上是你使用的任何字符串的整數哈希值。如果你引用命名版本,不要添加「_id」:

# recipes.yml 
chicken_soup: 
    cookbook: my_recipes 

# cookbooks.yml 
my_recipes: 
    title: My Test Cookbook 
+0

好的,實際上工作。謝啦。 – Ethan 2009-02-04 08:33:35

1

此外,如果你想有一個多對多關聯(HABTM)你只要給一個數組在燈具協會:

# recipes.yml 
chicken_soup: 
    cookbooks: [my_recipes, another_recipe]