2015-03-31 105 views
0

我的應用程序在localhost中工作正常,但它在Heroku中運行時返回錯誤500:內部服務器錯誤。它說,「我們很抱歉,但出了問題,如果你是應用程序所有者,請查看日誌以獲取更多信息。」如何解決heroku/rails中的錯誤500?

我有這樣我的routes.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

看到heroku日誌,'heroku插件:升級日誌記錄:展開',然後'英雄日誌 - 尾巴' – Sontya 2015-03-31 05:51:09

+0

@Sontya它說,找不到附加計劃。 – MAC 2015-03-31 05:54:10

+0

鍵入這個並查看錯誤'heroku logs -n 1000' – Sontya 2015-03-31 05:55:57

回答

0

找到了答案!

我只是在LIKE條款加入i這樣ILIKE並讓代碼這樣

render json: @employee = Employee.where('fname ILIKE ? OR lname ILIKE ? OR mname ILIKE ? OR username ILIKE ?', 
    "%#{str}%","%#{str}%","%#{str}%", "%#{str}%") 

它不會在localhost工作,但它在heroku工作。因此,在localhost運行這個程序的時候,上面的代碼應該有LIKE子句之前沒有i但在heroku運行這個時候,ILIKE應該用來代替簡單LIKE因爲只有在heroku使用LIKE條款時,這將是區分大小寫..

並且順便說一句,id被刪除。

+0

請將此代碼移至模型 – duykhoa 2015-03-31 09:44:58

相關問題