29

このガイドでRailsフィクスチャについて読んでいます(ありがとう、trevorturk)。Yamlファイルでクラスを定義しているようで、それらは自動的にtestDBにロードされます--cool。

しかし、このレシピがそのクックブック(またはその他)に属することを指定したい場合、どのようにそれを行いますか?

Yamlコードで手動で値を指定することになっていますcookbook.idか?recipe.cookbook_id(推測ですが、ガイドにはそのようなものは表示されていません。)または、より適切な方法はありますか?

4

2 に答える 2

63

名前付きフィクスチャを使用する必要があります。これにより、ID番号を指定しない場合に自動的に生成されます。これらのID番号は、基本的に、使用する文字列の整数ハッシュです。名前付きバージョンを参照している場合は、「_id」を追加しないでください。

# recipes.yml
chicken_soup:
  cookbook: my_recipes

# cookbooks.yml
my_recipes:
  title: My Test Cookbook
于 2009-02-04T05:51:25.673 に答える
5

さらに、多対多の関連付け ( HABTM ) が必要な場合は、フィクスチャで関連付けの配列を指定するだけです。

# recipes.yml
chicken_soup:
  cookbooks: [my_recipes, another_recipe]
于 2016-12-14T08:55:51.573 に答える