1

当有关联模型时,众所周知,在两个模型中指定关联将创建循环依赖并导致“堆栈级别太深”错误。那么指定关系的正确位置是什么?请参阅这些简单的关联:

class Patient
  has_many :doctors, :through => :join_model
end

class Doctor
  has_many :patients, :through => :join_model
end

class User
  has_many :posts
end

class Post
  belongs_to :user
end

在这些模型的工厂中,哪一个是举办协会的合适场所?

4

1 回答 1

2

factory_girl 自述文件中有一个部分包含has_many关联示例:https ://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#associations

我认为这里没有黄金法则。我通常每个模型都有一个默认工厂,它有一个简单的或没有关系集,然后我有像:user_with_posts这样的特殊工厂,用于各种相关测试。我也经常自己在测试中自己建立它们create(:user, posts: [create(:some_special_post)])

于 2012-08-06T11:27:40.630 回答