如何使用此类别工厂来填充另一个工厂的属性category_id?

时间:2012-11-25 02:30:54

标签: ruby-on-rails rspec factory-bot

我有以下工厂:

  factory :post do
    title "lorem"
    content "lorem ipsum"
    category_id 
    user
  end

  factory :category do
    name "Lorem"
  end

我想以某种方式填写category_id :category工厂。

几乎模仿我在我看来做的事情:

<%= f.collection_select :category_id, Category.order(:name), :id, :name,
                        { prompt: 'Select Category' } %>

(此案例中的类别已经创建)。

如何做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您只是在category_id工厂中将category替换为post,请执行以下操作:

factory :post do
  title "lorem"
  content "lorem ipsum"
  category
  user
end

然后,factory_girl将使用category工厂在category_id记录的流程设置Post中启动关联。有关详细信息,请参阅documentation on factory_girl interaction with ActiveRecord