在我的ruby on rails应用程序中,我有这段搜索查询代码。它在Rails本地服务器上本地工作,但是当我在Heroku上部署时却不能。这是该查询的代码行:
@courses = Course.where("name LIKE? ","%#{params[:search][:course].downcase}%").all
一点点上下文:课程是我的数据库模型,它有一个名为“名称”的字段,在这里我正在搜索所有课程,这些课程的名称包含用户指定的某些单词,该查询单词通过传入形式参数。
更新: 谢谢Danilo和Brad!解决了在LIKE和?之间放置空格的问题。并使用ILIKE代替LIKE。
@courses = Course.where("name ILIKE ? ","%#{params[:search][:course].downcase}%")
答案 0 :(得分:1)
您必须在 Like 和?之后放置一个空格,并且在使用where时不需要调用.all方法,这是多余的。 / p>
@courses = Course.where("name LIKE ? ","%#{params[:search][:course].downcase}%")