Я использовал подход, показанный ниже в прошлом.Задайте именованный маршрут в config/routes.rb
:
map.page ':page', :controller => 'pages', :action => 'show',
:page => /browse|help/
- обратите внимание, что параметр :page
ограничен определенными значениями (URL-адреса /browse
и /help
).Используя этот маршрут, вы можете создавать ссылки, подобные следующим:
<%= link_to 'Help', pages_path('help') %>
Наконец, создайте контроллер (app/controllers/pages_controller.rb
):
class PagesController < ApplicationController
def show
render params[:page] # => renders /app/views/pages/<page>.html.erb
end
end
Вы можете изменить метод show
вконтроллер, если вам требуется больше гибкости.Например, вы можете использовать разные макеты для разных страниц.Для этого сценария вы можете ветвить логику на основе значения входящего параметра :page
.