我有兩個型號,一個簡單的has_many
協會Rails的製造寶玉石協會創建多個對象
class Usuario < ActiveRecord::Base
has_many :publicaciones, dependent: :destroy
end
class Publicacion < ActiveRecord::Base
belongs_to :usuario, dependent: :destroy
validates_presence_of :usuario
end
而且這些都是加工廠
Fabricator(:usuario_con_10_publicaciones) do
nombre { FFaker::NameMX.name }
publicaciones(count: 10)
end
Fabricator(:publicacion) do
texto { FFaker::Lorem.paragraphs }
usuario
end
當我用它工作正常,第二個,它創建一個Publicacion
和一個Usuario
> a = Fabricate :publicacion
> Usuario.count
=> 1
> Publicacion.count
=> 1
但是當我使用的第一個,它會創建 Publicaciones
但 Usuarios
,只有用最後一個相關聯的所有Publicaciones
。
> u = Fabricate :usuario_con_10_publicaciones
> Usuario.count
=> 11
> Publicacion.count
=> 10
難道不應該只創建一個Usuario
和 Publicaciones
?
感謝您的幫助。
感謝您的幫助,使用瞬變是一個好主意,與您的建議相關的問題是,沒有'Usuario'創建'Publicacion'是無效的。這可以用'Fabricate.build'來解決,如Paul Elliott的答案所示。 – 1087427