我有一个相当厚实的工厂女孩特质,接受参数并创建一个has_many关系.我可以将这种特性称为另一种特性的一部分,以便将特性干涸或者在将它们传递给工厂时更容易将特征捆绑在一起.我不知道怎么做的是当我从另一个特征中调用它时,或者该怎样做时,如何将params传递给一个特征.
例如
FactoryGirl.define do
factory :currency do
name Forgery::Currency.description
sequence(:short_name) { |sn| "#{Forgery::Currency.code}#{sn}" }
symbol '$'
end
factory :price do
full_price { 6000 }
discount_price { 3000 }
currency
subscription
end
sequence(:base_name) { |sn| "subscription_#{sn}" }
factory :product do
name { generate(:base_name) }
type { "reading" }
duration { 14 }
trait :reading do
type { "reading subscription" }
end
trait :maths do
type { "maths subscription" }
end
trait :six_month do
name { "six_month_" + generate(:base_name) }
duration { …Run Code Online (Sandbox Code Playgroud)