2009-01-23 26 views
5

¿Cómo cambio una aplicación de rieles para que aparezca un controlador foo como raíz de la aplicación?Ruby on rails application root

En otras palabras, en este momento todas las URL parecen host.com/foo/... y me gustaría deshacerse de la foo y tienen simplemente host.com/...

Respuesta

8

En routes.rb, agregar:

map.root :controller => 'foo' 

Más detalles en el API.

+0

Esto funcionó para mapear/a/foo, pero también quería que las peticiones a/foo lo enviaran de vuelta a /, así que cambié los lugares que había usado foo_url a root_url en mi código. Tal vez haya una mejor manera de hacerlo usando el enrutamiento RoR también. – Bee

+2

¡No olvides eliminar también la página index.html que viene con los rieles! (http://stackoverflow.com/questions/1205033/ruby-on-rails-map-root-doesnt-seem-to-be-working) – pkaeding

+0

Enlace de API no funciona – Joni

1

En su routes.rb se agrega una ruta denominada de esta manera:

map.home '', :controller => 'foo', :action => 'index' 

Esto construirá una ruta para cuando se solicita la raíz de la aplicación web, utilizará el controlador foo y llamar a la acción index . Asegúrate de tenerlo en la parte inferior para que tenga la prioridad más baja.