如何解决heroku / rails中的错误500?

时间:2015-03-31 05:45:58

标签: ruby-on-rails ruby heroku internal-server-error

我的应用程序在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

已经完成,

1 个答案:

答案 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已被移除。