首页 > 解决方案 > Ruby on Rails 数据库查询在 heroku 上不起作用

问题描述

我的 ruby​​ on rails 应用程序中有这段代码用于搜索查询。它在 Rails 本地服务器上本地工作,但在 Heroku 上部署时却不行。这是该查询的代码行:

@courses = Course.where("name LIKE? ","%#{params[:search][:course].downcase}%").all

一点上下文:课程是我的数据库模型,它有一个名为“名称”的字段,在这里我正在搜索名称包含用户指定的某些单词的所有课程,该查询词通过表单参数传递.

更新: 谢谢达尼洛和布拉德!通过在 LIKE 和 ? 之间放置一个空格来解决 并使用 ILIKE 而不是 LIKE。

@courses = Course.where("name ILIKE ? ","%#{params[:search][:course].downcase}%")

标签: ruby-on-railsheroku

解决方案


你必须在LIKE? ,并且在使用 where 时不需要调用 .all 方法,这是多余的。

@courses = Course.where("name LIKE ? ","%#{params[:search][:course].downcase}%")

推荐阅读