gpt4 book ai didi

ruby-on-rails-3.2 - 依赖 : :destroy leading to postgresql error

转载 作者:行者123 更新时间:2023-12-04 07:45:32 24 4
gpt4 key购买 nike

class Accdist < ActiveRecord::Base
has_many :accdistlavoraziones, dependent: :destroy

删除 accdist 时,控制台输出以下内容:

 Accdist Load (27.3ms)  SELECT "accdists".* FROM "accdists" WHERE "accdists"."id" = $1 LIMIT 1  [["id", "1"]]
Accdistlavorazione Load (20.2ms) SELECT "accdistlavoraziones".* FROM "accdistlavoraziones" WHERE "accdistlavoraziones"."accdist_id" = 1
SQL (59.7ms) DELETE FROM "accdistlavoraziones" WHERE "accdistlavoraziones"."" = $1 [[nil, nil]]
PG::SyntaxError: ERROR: zero-length delimited identifier at or near """"
LINE 1: ...OM "accdistlavoraziones" WHERE "accdistlavoraziones"."" = $1
^
: DELETE FROM "accdistlavoraziones" WHERE "accdistlavoraziones"."" = $1
(0.1ms) ROLLBACK
Completed 500 Internal Server Error in 155.3ms

奇怪的是,如果我查询:

Accdistlavorazione.where('accdist_id = ?', 1).count
(0.6ms) SELECT COUNT(*) FROM "accdistlavoraziones" WHERE (accdist_id = 1)
=> 10

正在返回有效结果。

为什么内部机制导致postgresql处理nil(s)?

最佳答案

对于遇到此问题的任何人,可能发生的情况如下。
- 通过 Rails 快捷方式创建连接表 has_and_belongs_to_many
- 意识到你稍后需要一个 has_many ... through: set-up
- 在创建新连接记录时突突突实际运行...因为正在引用 [...]_id
– 删除时间到了,您正在寻找连接表的 ID,自然是 nil

关于ruby-on-rails-3.2 - 依赖 : :destroy leading to postgresql error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29007787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com