Я только что сделал это для сайта, над которым я работаю.
Это на самом деле вопрос определения правильных маршрутов.
Поскольку ваша модель называется Контентом, я предполагаю, что вы уже отобразили Контент как ресурс, подобный этому (в вашем rout.rb):
map.resources :content
Это будет обрабатывать URL как:
http://example.com/content/my-special-content-page
Для работы с URL, например:
http://example.com/my-special-content-page
вам просто нужно отобразить маршруты следующим образом:
map.content '/:id', :controller => 'content', :action => 'show'
Примечание:
Маршруты работают сверху вниз, поэтому вам нужно будет указать это ниже большинства вещей. Особенно:
map.root :controller => "welcome"
Если вы поставите новый маршрут выше этого, вы получите ошибку, потому что он попытается вызвать действие Controller.show с: id из nil.
Вам также необходимо убедиться, что везде, где вы генерируете URL-адреса в своих представлениях, вам нужно будет использовать этот новый маршрут, подобный следующему:
= link_to "My Special Page", content_path(@content)