L45*_*457 5 rspec ruby-on-rails ruby-on-rails-4 factory-bot
我为模型定义了以下工厂:
factory :page do
association :user, factory: :standard_user
association :post, factory: [:short_post]
after :create do |model|
model.post.user = model.user
model.save!
end
end
Run Code Online (Sandbox Code Playgroud)
后创建块似乎运行文件,工厂返回带有正确/新更改的模型对象,但这不会在我的测试数据库中持久存在.
即.如果我Page.last.post.user.id从我的测试中调用,我仍然得到在创建块之前的早期分配给post对象工厂的旧用户ID.我不确定为什么会这样.
您的after :create回调实际上应该更新post对象,但是,您正在调用save!您的page对象。
尝试直接调用model.post.save!以保存user_id列post。
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |