У меня есть приложение Rails, которое использует контроллер static_pages для рендеринга статических страниц в приложении, и я ищу лучшее решение для перенаправления 301 определенных страниц - например, / dentist redirectedto / dentist-london
Я использую Rails 2.3.8.
Контроллер static_pages выглядит следующим образом:
class StaticPagesController < ApplicationController
def display
if static_page_exists?
render_static_page
else
raise ActiveRecord::RecordNotFound
end
end
protected
def static_page_exists?
File.exists? template_path
end
def template_path
File.join('app', 'views', 'static_pages', file_name)
end
def render_static_page
render :template => File.join('static_pages', file_name)
end
def file_name
File.join(params[:path]) + '.html.haml'
end
end
Этот контроллер соответствуетстраницы с именем статической страницы и отображает содержимое.
Маршрут выглядит следующим образом:
map.static_page '*path', :controller => 'static_pages', :action => 'display'
Я могу переименовать страницу app / views / static_pages / dentist.html.haml файл в app / views / static_pages / dentist-london.html.haml , однако я не уверен, как выполнить перенаправление 301 для этого изменения.
МожетКто-нибудь предлагает какой-либо совет?
Я думаю, что я включил весь соответствующий код, но не стесняйтесь спрашивать, если что-то отсутствует / не имеет смысла.
Заранее спасибо