Ruby on rails 评估工厂上下文以用作属性值

Ruby on rails 评估工厂上下文以用作属性值,ruby-on-rails,factory-bot,Ruby On Rails,Factory Bot,我试图干掉一个定义了两个子类的用户工厂: FactoryGirl.define do factory :user do transient do kind 'user' end sequence(:name) { |n| "Factory Girl #{kind} ##{n}" } factory :supervisor, class: User do kind 'supervisor' #...other stuf

我试图干掉一个定义了两个子类的用户工厂:

FactoryGirl.define do

  factory :user do

    transient do
      kind 'user'
    end

    sequence(:name) { |n| "Factory Girl #{kind} ##{n}" }

    factory :supervisor, class: User do
      kind 'supervisor'
      #...other stuff
    end

    factory :admin, class: User do
      kind 'supervisor'
      #...other stuff
    end

  end
end
目前,我使用transient属性“kind”为用户提供一个反映用户身份的名称,这在涉及许多用户的调试测试中非常方便

我想知道是否有办法使用工厂名称设置name属性,例如:

FactoryGirl.define do

  factory :user do

    sequence(:name) { |n| "Factory Girl #{__FACTORY_NAME__} ##{n}" }

    factory :supervisor, class: User do
      #...other stuff
    end

    factory :admin, class: User do
      #...other stuff
    end

  end
end
我进行了一番挖掘,但似乎在工厂被评估以实现这一目标时,没有可用的背景。这是一个正确的假设,还是他们的一些魔法我可以用来实现这一点