Rails アプリのフィクスチャの代わりとして Factory Girl を実装しています。関連を使用して表現しようとしているテーブルがいくつかあります。ただし、関連を定義するだけでなく、親から子ファクトリの属性にアクセスする必要もあります。
以下は、私がやろうとしていることの例です。
- Factory :foo_bar は、Factory :bar に関連付けられている Factory :foo に関連付けられています。
- :foo_bar から、:foo と :bar の両方の属性にアクセスしようとしています。
サンプルは次のとおりです。
Factory.define :bar do |e|
e.name "Bar"
end
Factory.define :foo do |e|
e.bar {|b| b.association(:bar)}
end
Factory.define :foo_bar do |b|
f = b.association(:foo)
b.foo_id foo.id
b.bar_id foo.bar_id
end
私は多くのチュートリアルやその他の質問を経験しましたが、これを行う方法の例を見たことがありません. 同じ結果を得るためのアイデアや他の方法はありますか?
ありがとう!
編集
いくつかの質問に基づいて、最初に含める必要があったいくつかの説明を以下に示します...
:foo_bar は結合テーブルではなく、独自の他の属性を持つモデルです。
これは私が実際に達成しようとしていることです:
- :foo_bar に関連付けられた Factory を作成させる
- 次に、その関連付けられたファクトリーに関連付けられたファクトリーを作成させます
- (これは私が苦労している要素です) :foo_bar で最下位レベルの Factory から属性にアクセスします
したがって、:foo_bar > :foo > :bar の場合、:foo_bar から :bar の ID を取得しようとしています。