2015-04-06 2 views
3

Getting ошибки ниже с соответствующими моделями (BELONGS_TO):ключевых Зарубежные проблемы с квартирой жемчужиной

PG::ForeignKeyViolation: ERROR: insert or update on table "employees" violates foreign key constraint "fk_rails_0d62068e18" DETAIL: Key (contract_type_id)=(2) is not present in table "contract_types". : INSERT INTO "employees" ("title_id", "surname", "othernames", "department_id", "job_title_id", "gender_id", "date_of_birth", "contract_type_id", "employee_status_id", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id" 

В этом случае contract_type_id является foreign_key к исключенному модели (ContractType)

сообщается ошибка пришли из этой линии:

@connection.exec_prepared(stmt_key, type_casted_binds.map { |_, val| val }) 

Я использую Postgres с опцией config.use_schemas = true.

+1

У вас есть контрактType с id равным '2'? Кажется, что ваш SQL-запрос пытается создать связь между Employee и несуществующим ContractType (попробуйте 'ContractType.find (2)' в вашей консоли, чтобы проверить, существует ли запись) – MrYoshiji

+0

Да, у меня есть запись с этим id, но эта модель является частью исключенных. –

ответ

1

Если я правильно понимаю ваши отношения модели, this may help readers understand the problem. Короткий: Apartment не поддерживает ограничения внешнего ключа между не исключенными моделями для исключенных моделей.