: come in rails routes.rb

In config/routes.rb , ho provato entrambi:

 root :to => 'things#index', :as => 'things' 

e

 root :to => 'things#index' 

Quando clicco su http://localhost:3000/ , entrambi gli approcci funzionano e nulla sembra essere diverso.

Qual è il :as opzione utilizzata?

L’opzione: come forma una rotta denominata.

Di solito è usato in un percorso non-root. Per esempio:

 match '/search' => 'search#search', :as => 'search' # SearchController#search 

Potresti quindi fare qualcosa come:

 <%= link_to search_path, 'Click Here to Search!' %> 

search_path e search_url sono definiti a causa di :as

Per una root route, non è necessario :as perché gli helper degli URL root_path e root_url sono definiti per te da Rails.

Rails 4 compatibile.

In path_to_your_app/config/routes.rb

 get "/profile/edit" => "users#profile_edit", :as => "edit_me" 

Dal momento che Ruby 2.0 puoi usare:

 get "/profile/edit", to: "users#profile_edit", as: "edit_me" 

In path_to_your_app/app/views/**in visualizzazione richiesta

 <%= link_to "Edit profile", edit_me_path %> 

Non usare la match se non sei sicuro di averne bisogno:

Crea una vulnerabilità quando la si utilizza nel modello successivo:

 match ':controller/:action/:id' 

Dalla documentazione:

Non si dovrebbe utilizzare il metodo di match nel router senza specificare un metodo HTTP. Se vuoi esporre la tua azione sia a GET che a POST, aggiungi tramite l’opzione [:get, :post] . Se vuoi esporre la tua azione a GET, usa get nel router:

Invece di: match "controller#action"

Do: get "controller#action"

Maggiori informazioni su:

A proposito di partita

http://github.com/rails/rails/issues/5964

Informazioni sulla mapping delle rotte

http://apidock.com/rails/v4.0.2/ActionDispatch/Routing/Mapper/Base/match

http://api.rubyonrails.org/classs/ActionDispatch/Routing/Mapper/Base.html

A proposito di rotte in generale

http://api.rubyonrails.org/classs/ActionDispatch/Routing.html

L’opzione :as crea un percorso con nome. È quindi ansible chiamare questo percorso nei propri controller e viste (ad es. redirect_to things_path ). Questo non è molto utile per il percorso root (come già chiamato root ), ma è molto utile per i nuovi percorsi che aggiungi.