Create a controller that will handle errors:
class ErrorsController < ApplicationController
def routing
render_404
end
def render_404
render :json => {:status => “error”, :response_code => 404, :message => “no route found that match your request, please check your parameters and try again”, :results => {} }.to_json
end
end
And then, in your router, include the following line (at the end, after all the resources are listed, so you can catch stuff in there):
resources :some_resource_here
# catch any unmatch paths:
match ‘*a’, :to => ‘errors#routing’
another option
you can redirect to another page inside your controller, like this:
before_action :set_project, only: [:show, :edit, :update, :destroy] ... def set_project @project = Project.find(params[:id]) rescue ActiveRecord::RecordNotFound flash[:alert] = "The project you were looking for could not be found." redirect_to projects_path end