2017-05-25 24 views
0

我正在努力構建Rails 5應用程序,而不是在API模式下,而是爲API。Rails 5,如何控制顯示的錯誤消息

我的一個API被破壞了。當我在瀏覽器中加載的網址:http://localhost:4300/api/v1/skills.json

瀏覽器只是返回:「500內部服務器錯誤 如果您是此網站的管理員,那麼請閱讀此Web應用程序的日誌文件和/或web服務器的日誌找出問題所在。「

鑑於我處於開發模式,我如何讓Rails輸出更多有用的信息,比如在以前版本的Rails中?

感謝

+0

檢查您的服務器日誌(應用程序/日誌/ development.log)。 – Gerry

回答

1

添加到application.rb中如下一行:

config.exceptions_app = self.routes 

這樣你就可以呈現在增加航線自定義錯誤:

Rails.application.routes.draw do 

    get "/404" => "errors#not_found" 
    get "/500" => "errors#exception" 
    post "/500" => "errors#exception" 
    get "/400" => "errors#exception" 
    post "/400" => "errors#exception" 

比如我顯示:

class ErrorsController < ApplicationController 

    def not_found 
    render :json => {:error => "not-found"}.to_json, :status => 404 
    end 

    def exception 
    render json: { 
     error: { 
      message: env["action_dispatch.exception"].to_s, 
      detail: env["action_dispatch.exception"] 
     } 
     }, 
     :status => 500 
    end 
end