rails 4引擎中的自定义错误页面

时间:2014-12-01 13:58:11

标签: ruby-on-rails json rails-api

我正在rails 4中创建一个JSON api引擎。我正在尝试显示404等的json错误消息,而不是默认的html 404页面。到目前为止,我已经导航到/ jsonforem / 404并验证我的控制器正在工作,但是当我导航到某个不存在的地方时,我仍然从rails获得默认的html 404.

这是我在lib / jsonforem.rb中进行路由的地方:

require "jsonforem/engine"

module Jsonforem
  config.exceptions_app = self.routes
end

这是我在引擎中的路线:

Jsonforem::Engine.routes.draw do
  resources :posts, :categories, :forums, :topics

  get 'posts/:id/children' => 'posts#childrenof'

  root 'posts#index'

  match "*path" => "errors#not_found", via: :all

end

我也试过"/404"的匹配,但没有效果。最后,我在app / controllers / jsonforem / errors_controller.rb中的错误控制器:

require_dependency "jsonforem/application_controller"

module Jsonforem
  class ErrorsController < ApplicationController
    def not_found
      render :json => {:error => "Not found"}, :status => 404
    end
  end
end

我在exceptions_app配置中做错了什么?

0 个答案:

没有答案