Cómo rescatar de RoutingError
en la aplicación de rieles 3.1. Si no me equivoco, es posible usar rescue_from RoutingError
en el controlador de la aplicación, pero ahora no es posible.Rescate de los carriles de error de enrutamiento 3.1
Respuesta
No hay una gran manera de manejarlo, pero hay algunas soluciones. La discusión here se obtiene la siguiente sugerencia:
Rutas
Añadir lo siguiente a su archivo de rutas:
match "*", :to => "home#routing_error"
y gestionar el error en esta acción:
def routing_error
render text: "Not found, sorry", status: :not_found
end
No pude replicar el r de @ matthew-savage esults. Sin embargo, por los carriles de guía en route globbing y this question en otra pregunta StackOverflow, he resuelto este problema de este modo:
routes.rb
match "*gibberish", :to => "home#routing_error"
aviso cómo he incluido el texto después de que el comodín. El controlador está bien como se muestra arriba:
controlador/home_controller.rb
....
def routing_error
render text: "Not found, sorry", status: :not_found
end
Bueno example.
route.rb
Rails 3:
match '*unmatched_route', :to => 'application#raise_not_found!'
Carriles 4:
get '*unmatched_route' => 'application#raise_not_found!'
application_controller.rb
def raise_not_found!
raise ActionController::RoutingError.new("No route matches #{params[:unmatched_route]}")
end
- 1. carriles de enrutamiento recursos anidados
- 2. Cambio del parámetro id en los carriles de enrutamiento
- 3. Arranque de carriles 3.1 en entorno diferente
- 4. enrutamiento de error Bottle.py
- 5. JST undefined for carriles 3.1 aplicación
- 6. Rspec2 y los carriles 3 - Vista de especificaciones de enrutamiento de Recursos anidados
- 7. asset_url en el anuncio publicitario en los carriles 3.1
- 8. order_by en el bloque cada carriles 3.1
- 9. diferencia entre el alcance y espacio de nombres de rubí en los carriles 3 enrutamiento
- 10. Error de enrutamiento en los rieles con current_page?
- 11. carriles 3.1 canalización de activos: ignorar los activos de una gema
- 12. Cómo marcar los campos en los carriles errores de validación
- 13. Rails 3.1, Error de niña de fábrica
- 14. Cómo suprimir desactivar los mensajes de fallos de cache/"" cuando se ejecuta pruebas rspec en los carriles 3.1
- 15. ¿Cómo puedo establecer el valor del parámetro por defecto de enrutamiento en los carriles 3
- 16. carriles de error de sintaxis delgada
- 17. ¿Cómo corrijo los errores de enrutamiento de los rieles en el modo de producción?
- 18. Error HTTP de enrutamiento 404.0 0x80070002
- 19. Error de enrutamiento: constante no inicializada
- 20. Error de Netbeans con glassfish server 3.1?
- 21. Cómo reiniciar los servidores individuales en el grupo delgada en los carriles 3.1 aplicación
- 22. Error de enrutamiento de archivos estáticos de producción de rieles
- 23. error heroku cuando se ejecuta la migración (carriles pila 3.1 cedro)
- 24. ¿la consola de los carriles con wirble?
- 25. Acepte los términos de uso carriles
- 26. Instalación de pepino con los carriles generan
- 27. Rails 3 enrutamiento - pasar parametros de routes.rb
- 28. Cambio formulario HTML ID generado por form_for carriles 3.1
- 29. Rails 3.1- error gema therubyracer
- 30. f.hidden_field en los carriles de 3,2
La respuesta técnicamente más correcta sería 'representar el texto: "No se ha encontrado, lo siento", estado:: not_found, content_type: Mime :: html' manejar correctamente las respuestas como'/icon.png' – kizzx2
De hecho, la solución de @aboutaaron funcionó para mí. Solo un "*" en el patrón de ruta no funcionó. Necesito agregar un poco de CRAP :) –