我正在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配置中做错了什么?