私はインベントリシステム用のRails 2.3.5プロジェクトを開発中です。主なオブジェクトは、State
とZipcode
のようなオブジェクトが関連付けられたItem
です。 Location
と多対多関連(HABTM)もあります。そのため、Item
は0,1、または多くを持つことができますLocations
。Railsフィクスチャの多対多のシードデータの参照
そのデータは、このプロジェクトのすべてのインスタンスで同じであるように私は、State
、Zipcode
、およびLocation
データをロードするためにdb/seeds.rb
にシード・データを使用しています。
ユニットテストに役立つItem
のフィクスチャを作成したいと考えています。これは私がこれまで持っているものです。
# items.yml
widget1:
state_id: <%= State.find_by_name('Utah').id %>
zipcode_id: <%= Zipcode.find_by_name('00000').id %>
locations_id: <%= Location.find_by_name('123 Main Street').id %>
state_id
とzipcode_id
作業罰金。私の問題はlocations_id
行です。私はfixtureファイルで多対多関連のidをどのように指定するのか分かりません。
私はこのような結合テーブルを持っています。しかし、どのようにフィクスチャの特定の場所を指定するのですか? – rlandster
私は私の答えを編集しました。ドキュメントには、 'has_and_belongs_to_many'に必要な情報が含まれています。 –
ロケーションはseeds.rbプロセスによってロードされるので、locations.ymlのフィクスチャファイルはありません。実際、私は種のデータが上書きされるようなものを持っているとは思いません。 – rlandster