¿Hay alguna manera de ver qué ruta coincide con una solicitud del navegador en Rails?

StackOverflow https://stackoverflow.com/questions/811314

  •  03-07-2019
  •  | 
  •  

Pregunta

En mi archivo routes.rb tengo varias rutas. Me gustaría saber cuál fue el adecuado para cualquier solicitud que un usuario haya realizado.

Por ejemplo, en route.rb tiene las siguientes rutas:

map.connect ":controller/:action"
map.connect ":controler/:action/:id"

y si tengo un controlador llamado a y una acción llamada primero , cuando un usuario va a http: // lo que sea / a / first , me gustaría ver que la ruta : controller /: action era elegido.

¿Puedo hacer eso para cualquier solicitud?

¿Fue útil?

Solución

Si solo quiere saber en qué controlador / acción está, el controlador proporciona los métodos controller_name y action_name . Entonces puede hacer algo como esto:

# in application_controller.rb
before_filter :set_where_am_i
def set_where_am_i
  @where_am_i = "#{controller_name}/#{action_name}"
end

# in views/layouts/application.erb, somewhere in your html
# (here I choose the <title>)

<head><title>Here: <%= @where_am_i %></title>

Otros consejos

Lo más cercano que pude encontrar fue en los archivos de registro. Verá para cada solicitud qué acción de qué controlador coincide. Verá algo como esto:

Parameters: {"action"=>"show", "id"=>"2", "controller"=>"mycontroller"}

A partir de ahí, debería ser fácil, ¿verdad?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top