gpt4 book ai didi

ruby-on-rails - 如何挽救 ActiveRecord::StatementInvalid 错误

转载 作者:行者123 更新时间:2023-11-29 14:09:43 26 4
gpt4 key购买 nike

有谁知道如何解决 rails 中的 ActiveRecord::StatementInvalid 错误?控制台显示“PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer...”。我试过将 pry 棒插入救援 block ,但从未调用过。

  if (resource_params[:term].present?)
begin
key = resource_params[:term]
scope = scope.where("id = ? OR item_type = ? OR item_id = ? OR event = ? OR object ILIKE ?", key, key, key, key, "%#{key}%")
rescue
# handle error
end
end

请注意,我知道如何防止错误发生(即需要将键转换为 id 列的整数类型)。但是,我试图理解为什么它从未到达救援区。

更新:正如其他人正确指出的那样,我最初的帖子包含一个语法错误(即:rescue e => error)。我仍然收到没有语法错误的相同错误;我已更新代码以删除不正确的语法。

最佳答案

这不是 rescue 的正确语法:

rescue e => error

如果我尝试使用它,我会得到 undefined local variable or method 'e'

挽救特定错误类的标准方法是使用:

rescue ActiveRecord::StatementInvalid => e

要进行“裸体救援”(通常不建议这样做),请省略类名:

rescue => e

请注意,在所有这些情况下,如果您不需要指向错误对象的变量,则可以省略 => e

关于ruby-on-rails - 如何挽救 ActiveRecord::StatementInvalid 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44075125/

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