root_path rails examples ruby-on-rails ruby ruby-on-rails-3 routing

ruby on rails - examples - : como en los rails routes.rb



root_path rails (3)

En config/routes.rb , probé ambos:

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

y

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

Cuando pulso http://localhost:3000/ , ambos enfoques funcionan, y nada parece ser diferente.

¿Cómo se usa la opción :as ?


Rieles 4 compatibles.

En path_to_your_app/config/routes.rb

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

Desde ruby ​​2.0 puedes usar:

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

En path_to_your_app/app/views/**in vista requerida

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

No use la match si no está seguro de que la necesita:

Crea una vulnerabilidad cuando la usas en el siguiente patrón:

match '':controller/:action/:id''

De la documentación:

No debe usar el método de match en su enrutador sin especificar un método HTTP. Si desea exponer su acción tanto a GET como a POST, agregue la opción: [:get, :post] . Si desea exponer su acción a GET, use get in the router:

En lugar de: match "controller#action"

Hacer: get "controller#action"

Leer más sobre:

Sobre el partido

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

Acerca de la asignación de rutas

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

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

Acerca de las rutas en general

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


La opción :as crea una ruta con nombre. A continuación, puede invocar esta ruta en sus controladores y vistas (por ejemplo, redirect_to things_path ). Esto no es muy útil para la ruta raíz (como ya se denominó root ), pero es muy útil para las nuevas rutas que agrega.


La opción: as forma una ruta con nombre.

Usualmente se usa en una ruta no raíz. Por ejemplo:

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

Entonces podría hacer algo como:

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

search_path y search_url se definen debido a :as

Para una ruta raíz, realmente no la necesita :as porque los auxiliares URL root_path y root_url están definidos para usted por Rails.