class SiteController
def show_page
def show_page url = params[:url] if Array === url url = url.join('/') else url = url.to_s end if @page = find_page(url) batch_page_status_refresh if (url == "/" || url == "") # This is a bit of a hack to get Vanity URL pages working in another extension # In Rails 2, redirect_to halted execution, so process_page could be aliased and # a redirect could be used. This no longer works. There's a better fix for this, # but for now, anything that aliases process_page can return false if it's rendering # or redirecting on its own. return unless process_page(@page) set_cache_control @performed_render ||= true render layout: false else render :template => 'site/not_found', :status => 404, layout: false end rescue Page::MissingRootPageError redirect_to welcome_path end