使用RSpec自动递增主键

时间:2019-03-05 07:29:48

标签: ruby-on-rails rspec ruby-on-rails-5 rspec-rails

我有一个这样的关联-订单包含许多子订单,而子订单又包含许多订单项。我正在尝试更新订单-其中一些具有现有的订单项ID,并创建一些新的ID。我的要求如下。

order: {
  id: order.id,
  sub_orders_attributes: {
    "0": {
      id: 1,
      line_items_attributes: [
        {
          id: 1,
          requested: 10
        },
        {
          id: 2,
          requested: 10
        }
      ]
    },
    "1": {
      line_items_attributes: [
        {
          requested: 10
        }
      ]
    }
  }
}

现在有了这个错误

ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR:  duplicate key value 
violates unique constraint "sub_orders_pkey"
DETAIL:  Key (id)=(1) already exists.

因为我没有提供新商品的ID。此外,在开发/生产环境中也不会出现此问题。仅适用于rspec。关于如何解决这个问题有什么建议吗?谢谢。

0 个答案:

没有答案