Gibt es eine Möglichkeit, die passende Route eine Anfrage vom Browser in Rails zu sehen?
-
03-07-2019 - |
Frage
In meiner routes.rb Datei habe ich eine Reihe von Routen. Ich möchte wissen, was man für jede Anforderung angepasst wurde ein Benutzer gemacht hat.
Zum Beispiel in routes.rb Sie haben die folgenden Routen:
map.connect ":controller/:action" map.connect ":controler/:action/:id"
und wenn ich einen Controller mit dem Namen habe a und eine benannte Aktion erster , wenn ein Benutzer geht auf http: // was auch immer / a / erster , würde ich gerne sehen, dass die : controller /: action Route war gepflückt.
Kann ich das für jede Anforderung?
Lösung
Wenn Sie wollen einfach nur wissen, welche Controller / Aktion, die Sie sich befinden, liefert der Controller controller_name
und action_name
Methoden. So könnten Sie so etwas tun:
# 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>
Andere Tipps
Das nächste, was ich war in den Protokolldateien finden konnte. Sie werden für jede Anfrage sehen, die Wirkung von denen Controller angepasst. Sie werden etwas sehen:
Parameters: {"action"=>"show", "id"=>"2", "controller"=>"mycontroller"}
Von dort sollte es leicht sein, nicht wahr?