среда, 14 января 2009 г.

Навигация по человеческим URL

А приспичило вот сделать навигацию так, что бы не указывать контроллер для страниц в корне сайта.
Оказалось, достаточно просто это делается:
в routes.rb пишем
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
map.connect ':url', :controller=>'page', :action=>'show'
и вуаля
все что не попало под определения контроллеров и екшенов попадет под контроллер page и вызовет action show, куда передаст url как параметр, что вполне позволит сделать вот так:
@page=Page.find_by_url(params[:url]) и работать со страницей, фактически не существующей в корне сайта.

Комментариев нет:

Отправить комментарий