-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathroutes.rb
106 lines (88 loc) · 4.28 KB
/
routes.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
ActionController::Routing::Routes.draw do |map|
# User routes
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.login '/login', :controller => 'sessions', :action => 'new'
map.register '/register', :controller => 'users', :action => 'create'
map.signup '/signup', :controller => 'users', :action => 'new'
map.resource :session
map.resources :password_resets
# Country and state routes
map.resources :top_cities
Country.slugs.each do |slug|
map.send(slug.gsub('-', '_'), "/developers/#{slug}", :controller => "countries", :action => "show", :country => slug)
end
State.slugs.each do |slug|
map.send(slug.gsub('-', '_'), "/developers/us-#{slug}", :controller => "states", :action => "show", :state => slug)
end
# App routes
map.resource :home, :controller => 'home'
map.resource :provider_directory, :as => :developer_directory, :controller => "provider_directory"
map.resources :providers, :as => :developers, :shallow => true, :collection => {:search => :get, :by_location => :get} do |provider|
provider.resources :endorsements
provider.resources :portfolio_items
end
map.resources :rfps
map.resources :pages, :requirements => { :id => /.*/}
# Provider admin routes
map.my '/my', :controller => 'my/dashboard', :action => 'show'
map.namespace :my do |me|
me.resource :dashboard, :controller => 'dashboard'
me.resource :provider, :as => :developer
me.resources :portfolio_items
me.resources :endorsement_requests
me.resources :users
me.resources :endorsements, :collection => {:sort => :put, :update_all => :put}
me.resources :requests
end
# Admin routes
map.admin '/admin', :controller => 'admin/dashboard', :action => 'show'
map.change_password '/admin/change_password', :controller => 'admin/users', :action => 'change_password'
map.namespace :admin do |admin|
admin.resource :dashboard, :controller => 'dashboard'
admin.resources :services
admin.resources :users, :member => [:take_control, :resend_welcome]
admin.resources :portfolio_items
admin.resources :rfps
admin.resources :endorsements
admin.resources :providers do |provider|
provider.resources :users
provider.resources :portfolio_items
provider.resources :requests
provider.resources :endorsements
end
admin.resources :pages
admin.resource :csv
admin.resources :top_cities, :collection => {:sort => :put}
end
# The priority is based upon order of creation: first created -> highest priority.
# Sample of regular route:
# map.connect 'products/:id', :controller => 'catalog', :action => 'view'
# Keep in mind you can assign values other than :controller and :action
# Sample of named route:
# map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
# This route can be invoked with purchase_url(:id => product.id)
# Sample resource route (maps HTTP verbs to controller actions automatically):
# map.resources :products
# Sample resource route with options:
# map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
# Sample resource route with sub-resources:
# map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
# Sample resource route with more complex sub-resources
# map.resources :products do |products|
# products.resources :comments
# products.resources :sales, :collection => { :recent => :get }
# end
# Sample resource route within a namespace:
# map.namespace :admin do |admin|
# # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
# admin.resources :products
# end
# You can have the root of your site routed with map.root -- just remember to delete public/index.html.
map.root :controller => "my/dashboard", :action => 'show'
# See how all your routes lay out with "rake routes"
# Install the default routes as the lowest priority.
# Note: These default routes make all actions in every controller accessible via GET requests. You should
# consider removing the them or commenting them out if you're using named routes and resources.
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end