Как изменить приложение rails, чтобы в качестве корня приложения отображался контроллер foo?
Другими словами, сейчас все URL-адреса выглядят как host.com/foo / ... и я бы хотел избавиться от foo и иметь просто host.com / ...





В routes.rb добавьте:
map.root :controller => 'foo'
Полная информация в API.
Не забудьте также удалить страницу index.html с направляющими! (stackoverflow.com/questions/1205033/…)
Отредактировал ссылку на исправление линкрота. Спасибо, Джони, за предупреждение.
В вашем routes.rb вы добавляете именованный маршрут следующим образом:
map.home '', :controller => 'foo', :action => 'index'
Это создаст маршрут, по которому при запросе корня веб-приложения он будет использовать контроллер foo и вызывать действие index. Убедитесь, что он находится внизу, чтобы ему был присвоен самый низкий приоритет.
Это сработало для сопоставления / с / foo, но я также хотел, чтобы запросы к / foo отправляли вас обратно в /, поэтому я поменял места, где я использовал foo_url, на root_url в моем коде. Возможно, есть лучший способ сделать это, используя маршрутизацию RoR.