関連するモデルのアトリビュートを設定するために使用されるファクトリにパラメータを渡したいとします。関連するモデルは工場内で作成されます。FactoryGirlのアソシエーション時に属性を設定する際にパラメータを渡す
私は、ジョインテーブルTxLinkを介して多対多のリンクを持つトランザクションモデルを持っています。 link = FactoryGirl.create(:link_red_to_sub, sub: 10, red: 7)
に電話して、2つのトランザクションオブジェクトとその2つをリンクするTxLinkを作成します。
最後にunits: sub
があるため、以下の関連行に誤りがあります。エラーは「特性が定義されていません」です。私はunits: { sub }
(かっこ付き)を試しましたが、サイコロはありませんでした。
association
ヘルパーは、動的プロパティの引数を取ることはできませんが、関連をインスタンス化する動的属性を使用することができます
factory :tx_link do
units "9.99"
factory :link_red_to_sub do
ignore do
sub 0
red 0
end
units { red }
association :giver, factory: :transaction, units: sub
association :taker, factory: :redemption, units: red
end
end
は廃止され無視されます。代わりに、 "一時的な" – hcarreras