我是Rails开发的新手,对于如何处理未知动作(unknown action)有些疑惑。那么,在处理这种类型的错误时,最好的方法是什么?
我是Rails开发的新手,对于如何处理未知动作(unknown action)有些疑惑。那么,在处理这种类型的错误时,最好的方法是什么?
不要处理它。如果用户输入了错误的URL,当您切换到生产环境时,他将会收到404错误。
您只会收到异常是因为您处于开发环境。
example.com/controller/jbsandfodsafoiuaudsfbsadf87basdfgsadfdsa
的情况。config/environments/development.rb
中关闭consider_all_requests_local
,然后重新启动服务器。现在您将看到错误页面。完成设计后,请打开consider_all_requests_local
并再次重启服务器。 PAGE_NOT_FOUND_ERRORS = ActiveRecord::RecordNotFound, ActionController::RoutingError, ActionController::UnknownAction, ActionController::UnknownController
def rescue_action_in_public(exception)
case exception
when *PAGE_NOT_FOUND_ERRORS
render_404
else
render_500
end
end
def render_404
render :file => File.join(RAILS_ROOT, 'public', '404.html'), :status => 404, :layout => true
end
def render_500
render :file => File.join(RAILS_ROOT, 'public', '500.html'), :status => 500
end
你应该可以使用默认的Rails处理方式,它会在你的public目录中加载404文件。