#ruby-on-rails #rspec #ruby-on-rails-5 #rspec-rails
#ruby-on-rails #rspec #ruby-on-rails-5 #rspec-rails
Вопрос:
У меня есть подобная ассоциация — заказ, имеющий много подзаказов, который, в свою очередь, содержит много позиций. Я пытаюсь обновить некоторые заказы с существующими идентификаторами позиций и создать несколько новых. Мой запрос заключается в следующем.
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.
поскольку я не предоставил идентификаторы для новых элементов. Также эта проблема не появляется в средах разработки / производства. Только с помощью rspec. Есть предложения о том, как я могу это решить? Спасибо.
Комментарии:
1. вы добавили и настроили средство очистки базы данных ?
2. Как обрабатывается ваша полезная нагрузка? Кроме того, не могли бы вы рассказать немного больше о вашей тестовой настройке?