J'ai deux modèles dépendants avec un à plusieurs associationFactory Girl définit une valeur incorrecte pour id auto-incrément en association
class Post < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :post
end
dans mon SGBD post_id
dans le tableau users
est défini comme une clé étrangère
I écrit deux scénarios de concombre - en premier je (avec l'aide de factory_girl) créer deux utilisateurs et en second je veux aussi créer deux utilisateurs mais la création échoue parce que factory_girl
construit dépend des enregistrements post
avec id
mis à un cependant dans le scénario précédent deux enregistrements en posts
table ont été créés et supprimés donc id
valeur devrait commencer à partir de 3
et non de 1
. J'ai utilisé pry
pour déboguer ce processus et repéré que si j'utilise FactoryGirl.build(:post)
il définit la valeur correctement, mais si j'utilise la valeur FactoryGirl.build(:user)
du post.id
associé est toujours . Comment puis-je faire buld records avec id
?
EDIT
FactoryGirl.define do
sequence :composite_id do |n|
"F98F3806-#{sprintf("%04X", n)}-4C96-879C-2C6F38213D8E"
end
# Post
factory :post do
sequence(:post_id) { |n| "#{n}" }
some_field "Lorem Ipsum is simply dummy text of the printing a"
...
end
# User
factory :user do
user_id { FactoryGirl.generate(:composite_id)}
association :post_id, :factory => :post
...
end
end
À quoi ressemble le fichier de votre usine? –
S'il vous plaît vérifier la mise à jour, merci. – Bohdan