簡體   English   中英

具有多個特征的工廠女工協會

[英]Factory girl association with more than one trait

我有這樣的關聯:

association :address, :factory => [:address, :closer_address]

我的工廠是這樣的:

factory :address do
  address1 "12 Any Street"
  latitude 22.4583397
  longitude -11.06776
  state 'pending_verification'

  trait :closer_address do
    latitude 33.4783397
    longitude -11.06776
  end

  trait :verified do
    state 'verified'
  end
end

那么我可以以某種方式創建具有多個特征的關聯嗎? 還是有另一種解決方法? 我的想法是,我希望具有也已驗證的closer_address ,在另一種情況下,我可能想要未驗證的closer_address ,因此這是將它們分開的原因。

有任何想法嗎?

您可以這樣做以具有兩個不同的特征選項:

  factory :address do
    address1 "12 Any Street"
    latitude 22.4583397
    longitude -11.06776
    state 'pending_verification'

    trait :closer_address do
      latitude 33.4783397
      longitude -11.06776
    end

    trait :verified_closer_address do
      latitude 33.4783397
      longitude -11.06776
      state 'verified'
    end
  end

您將創建如下對象:

:factory => [:address, :closer_address]

或這個:

:factory => [:address, :verified_closer_address] 

或者您可以在不更改當前工廠的情況下執行此操作:

  factory :address do
    address1 "12 Any Street"
    latitude 22.4583397
    longitude -11.06776
    state 'pending_verification'

    trait :closer_address do
      latitude 33.4783397
      longitude -11.06776
    end

    trait :verified do
      state 'verified'
    end
  end

您將創建如下對象:

:factory => [:address, :closer_address, :verified]

使用FactoryGirl創建對象時,可以同時使用多個特征。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM