我的应用程序在localhost中工作正常,但是当我在Heroku中运行时它返回错误500:内部服务器错误。它说,“我们很抱歉,但出了点问题。如果您是应用程序所有者,请查看日志以获取更多信息。”
我的路线下有这个.rb
get 'employees/showemployees'
resources :employees
这个,在我的控制器下
def showemployees
str = params[:str]
render json: @employee = Employee.where('fname LIKE ? OR lname LIKE ? OR mname LIKE ? OR username LIKE ? or id LIKE ?',
"%#{str}%","%#{str}%","%#{str}%", "%#{str}%", "%#{str}%")
端
当我输入http://localhost:3000/employees/showemployees?str=samplename时 它显示记录的json格式,但是当我输入https://dtitdtr.herokuapp.com/employees/showemployees?str=samplename时 它将返回错误500
heroku run rake db:migrate
已经完成,
答案 0 :(得分:0)
找到了答案!
我刚刚在i
子句中添加了LIKE
,就像这个ILIKE
一样,并以这种方式编写代码
render json: @employee = Employee.where('fname ILIKE ? OR lname ILIKE ? OR mname ILIKE ? OR username ILIKE ?',
"%#{str}%","%#{str}%","%#{str}%", "%#{str}%")
它不会在localhost
中有效,但可以在heroku
中使用。因此,当在localhost
中运行此应用时,上述代码在i
子句之前应该没有LIKE
,但在heroku
中运行此代码时,应使用ILIKE
而不是简单LIKE
,因为仅在LIKE
中使用heroku
子句时,它将区分大小写......
顺便说一下,id
已被移除。