2
自动递增ID值错误,我有两个相关的模型与一对多关联工厂女孩设置了关联
class Post < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :post
end
在我DBMS在users
表post_id
被定义为外键
我写了两个黄瓜的场景 - 首先我(与factory_girl帮助)创建两个用户,第二我也想创建两个用户,但创建失败,因为factory_girl
建立依赖post
记录与id
设置为一个但前面的场景两个记录在posts
表已创建并删除,所以id
值应从3
开始,而不是从1
开始。我用pry
来调试这个过程,并发现如果我使用FactoryGirl.build(:post)
它正确设置值,但如果我使用FactoryGirl.build(:user)
值相关的post.id
总是1
。我如何使用适当的id
来制作buld记录?
编辑
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
你的工厂文件是什么样的? –
请检查更新,谢谢。 – Bohdan