gpt4 book ai didi

mysql - Ruby on Rails : JQuery autocomplete on heroku server (SQL, PostgreSql 可能错误)

转载 作者:行者123 更新时间:2023-11-29 12:31:55 26 4
gpt4 key购买 nike

我的 Rails 应用程序中有一个文本字段,我已为其应用了 jquery 自动完成功能,该功能在我的本地主机中运行良好。

我已将应用程序上传到heroku,现在它给了我一个错误。

经过调试,我发现错误是我的查询。在我本地,我使用 sql,但在 heroku 上它是 PostgreSQL。

我的 Controller 自动完成操作:

@places = Place.order(:name).where("name like ? or pincode like ?" , "%#{params[:term]}%", "%#{params[:term]}%")
render json: @places.map{|p| "#{p.name} : #{p.pincode}"}

在heroku上它向我显示了这样的错误

PG::UndefinedFunction: ERROR:  operator does not exist: integer ~~ integer

所以我认为它与 pincode(这是一个整数)的参数有关,但我将它作为字符串传递。 (不过我不确定)

所以我将查询更改为

@places = Place.order(:name).where("name like ?" , "%#{params[:term]}%")

现在它工作正常,但不搜索 pincode 中的匹配项。

我尝试以多种方式构建查询,以便我可以同时搜索两者,但没有用。有人可以帮我查询吗?

最佳答案

听起来您的本地计算机上必须有不同版本的 Postgres。

但是无论是哪个版本,您都应该能够使用

将其转换为文本
@places = Place.order(:name).where("name like ? or pincode::text like ?" , "%#{params[:term]}%", "%#{params[:term]}%")

关于mysql - Ruby on Rails : JQuery autocomplete on heroku server (SQL, PostgreSql 可能错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27368304/

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