2016-07-17 8 views
-1

Was ist im Folgenden der Grund dafür, statt /home zu haben? Alle anderen sind /help, /about.Ruby: warum verwenden Sie # nicht /?

Rails.application.routes.draw do 
    root 'static_pages#home' 
    get 'static_pages/help' 
    get 'static_pages/about' 
end 
+0

Das obige ist Teil der folgenden Anleitung: http://railstutorial.jp/chapters/static_pages?version=4.2#code-home_root_route – Nabe

Antwort

5

Dies ist die vollständige Äquivalent des Ihnen zur Verfügung gestellten Code:

Rails.application.routes.draw do 
    get '/',     to: 'static_pages#home' 
    get 'static_pages/help', to: 'static_pages#help' 
    get 'static_pages/about', to: 'static_pages#about' 
end 

Der Hash-Symbol # teilt Controller und Aktionsnamen in Leitweg-Zielzeichenfolge.

In Ihrem Beispiel verwenden Sie die root Methode. Es ist eine Kurzschrift für get '/'. Sie geben also den Anforderungspfad nicht an.

In den letzten beiden Regeln kann das Ziel weggelassen werden, da Rails es automatisch berechnet.

Ich schlage vor, dass Sie den offiziellen lesen. Es erklärt all diese Dinge.

+0

danke !! aber warum nicht einfach schreiben: root 'static_pages/home' – Nabe

+0

Ich denke, das liegt daran, dass Rails verwirrt sein wird: Haben Sie Anforderungsweg oder Controller + Aktionszeichenfolge angegeben? –

+0

danke !!! Ich habe es mit Ihrer obigen überarbeiteten Erklärung !!! Ich danke dir sehr!!!! – Nabe

Verwandte Themen