c'è un modo per vedere quale percorso corrisponde a una richiesta dal browser in Rails?

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

  •  03-07-2019
  •  | 
  •  

Domanda

Nel mio file route.rb ho un numero di percorsi. Vorrei sapere quale è stato abbinato per qualsiasi richiesta che un utente possa aver fatto.

Ad esempio, in route.rb hai i seguenti percorsi:

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

e se ho un controller chiamato a e un'azione denominata prima , quando un utente passa a http: // qualunque sia / a / first , vorrei vedere che la route : controller /: action era raccolto.

Posso farlo per qualsiasi richiesta?

È stato utile?

Soluzione

Se vuoi solo sapere in quale controller / azione ti trovi, il controller fornisce i metodi controller_name e action_name . Quindi potresti fare qualcosa del genere:

# 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>

Altri suggerimenti

La cosa più vicina che ho potuto trovare era nei file di registro. Vedrai per ogni richiesta quale azione di quale controller corrisponde. Vedrai qualcosa del genere:

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

Da lì, dovrebbe essere facile, vero?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top