2009-01-23 14 views
5

Wie ändere ich eine Rails App, so dass ein Controller foo als Anwendung root erscheint?Ruby auf Schienen Anwendung root

Mit anderen Worten, gerade jetzt alle URLs aussehen host.com/foo/... und ich möchte loszuwerden, die foo bekommen und haben einfach host.com/...

Antwort

8

In routes.rb hinzufügen:

map.root :controller => 'foo' 

Ausführliche Informationen in der API.

+0

Das funktionierte um map/to/foo, aber dann wollte ich auch Anfragen an/foo senden Sie zurück nach /, also änderte ich Plätze, die ich foo_url verwendet hatte, zu root_url in meinem Code. Vielleicht gibt es einen besseren Weg, dies auch mit dem RoR-Routing zu tun. – Bee

+2

Vergessen Sie nicht, auch die Seite index.html mit den Schienen zu entfernen! (http://stackoverflow.com/questions/1205033/ruby-on-rails-map-root-doesnt-seem-to-be-working) – pkaeding

+0

API-Link funktioniert nicht – Joni

1

In Ihrem routes.rb fügen Sie eine benannte Route wie folgt:

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

Dies wird eine Route für, wenn die Wurzel der Web-Anwendung erstellen angefordert wird, wird es die Foo-Controller verwenden und den Index Aktion aufrufen . Stellen Sie sicher, dass Sie es unten haben, damit es die niedrigste Priorität erhält.