Fix route

This commit is contained in:
Manson Wang 2014-04-01 20:40:03 +08:00
parent 05f0900621
commit ddba41ce06
2 changed files with 30 additions and 16 deletions

View File

@ -17,21 +17,35 @@ class PagesController < ApplicationController
end end
def show def show
page = Page.find_by_param(params[:page_id]) path = request.original_fullpath.split('/')
module_app = page.module.downcase.pluralize if path.size == 2
params[:target_controller] = "#{module_app}" redirect_to '/'
@manifest = @key else
@dataApi = nil if path.last.include? '-'
if params[:slug] params[:page_id] = path[-2]
params[:target_action] = "show" params[:slug] = path[-1]
params[:uid] = params[:slug].split("-").last params[:uid] = path[-1].split("-").last
else params[:target_action] = "show"
params[:target_action] = "index" else
params[:url] = page.url params[:page_id] = path[-1]
end params[:slug] = nil
OrbitHelper.set_params params params[:uid] = nil
OrbitHelper.set_site_locale locale params[:target_action] = "index"
render render_final_page("#{module_app}/#{params[:target_action]}",page) end
page = Page.find_by_param(params[:page_id])
module_app = page.module.downcase.pluralize
params[:target_controller] = "#{module_app}"
params[:url] = page.url
@manifest = @key
@dataApi = nil
OrbitHelper.set_params params
OrbitHelper.set_site_locale locale
render render_final_page("#{module_app}/#{params[:target_action]}",page)
end
end end
def preview def preview

View File

@ -18,7 +18,7 @@ OrbitStore::Application.routes.draw do
# You can have the root of your site routed with "root" # You can have the root of your site routed with "root"
root 'home#index' root 'home#index'
scope "(:locale)", locale: /en|zh_tw/ do scope "(:locale)", locale: /en|zh_tw/ do
get ':page_id((/:page_id)/:page_id/:slug)', to: 'pages#show' get ':page(/:page)(/:page)(/:page)', to: 'pages#show'
resources :pages resources :pages
end end
# Example of regular route: # Example of regular route: