Commit Graph

107 Commits

Author SHA1 Message Date
Nicholas Seckar
8d809e724a Clear the cache of possible controllers whenever Routes are reloaded.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5169 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-23 17:25:06 +00:00
Nicholas Seckar
4ae3db8366 Fix routing to respect user provided requirements and defaults when assigning default routing options (such as :action => 'index'). Closes #5950.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5151 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-20 17:45:03 +00:00
David Heinemeier Hansson
40c86a7bda Documentation for routes (closes #5165) [rramdas@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5000 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-04 20:34:19 +00:00
David Heinemeier Hansson
40762a4873 Fixed default routing NoMethodError downcase for nil when default controller provided (closes #5400) [kajism@yahoo.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4998 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-04 20:09:15 +00:00
Nicholas Seckar
7678d123a7 Relax Routing's anchor pattern warning; it was preventing use of [^/] inside restrictions.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4763 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-15 02:04:11 +00:00
Nicholas Seckar
5baf7462c7 Add controller_paths variable to Routing; Assign Routing.controller_paths from initializer; fix script/about and rails info controller.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4762 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-15 01:28:06 +00:00
Rick Olson
c963f8e955 Tweak RoutingError message to show option diffs, not just missing named route significant keys. [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4756 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-13 18:00:08 +00:00
Rick Olson
4679e1bf7f Add RoutingError exception when RouteSet fails to generate a path from a Named Route. [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4733 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-09 00:02:08 +00:00
Nicholas Seckar
c469e4653d it's me, john wayne
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4700 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-07 06:13:01 +00:00
Nicholas Seckar
127ee8c8f8 Make Routing noisy when an anchor regexp is assigned to a segment. Closes #5674
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4677 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-05 22:12:50 +00:00
David Heinemeier Hansson
865b175765 Added map.resources from the Simply Restful plugin (backwards incompatible with the plugin!) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4637 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-31 18:59:58 +00:00
Jamis Buck
d70d521955 Don't search a load-path of '.' for controller files, since it may include symlinks to all kinds of things and result in far too many irrelevant files being considered
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4625 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-27 15:31:07 +00:00
Nicholas Seckar
378a935430 Remove leak in development mode
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4611 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-17 17:03:47 +00:00
Nicholas Seckar
e494b0a441 Add route_name_path method to generate only the path for a named routes. For example, map.person will add person_path.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4518 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-30 02:36:17 +00:00
Rick Olson
2bbcff8cf4 Fix that routes with *path segments in the recall can generate URLs. [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4454 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-17 00:25:24 +00:00
Jamis Buck
816d67b104 Make sure passed routing options are not mutated by routing code. (closes #5314)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4444 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-07 16:27:14 +00:00
Jamis Buck
ae7029ddd1 Do some path normalization to prevent the possible_controllers list from containing invalid entries
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4443 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-07 16:16:37 +00:00
Jamis Buck
4e3543b467 Make sure named routes are never generated relative to some containing module
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4442 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-06 19:09:56 +00:00
Jamis Buck
e768dc694d Improve parameter expiry handling to fix sticky-id issue. Add a more informative Route#to_s method.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4441 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-06 17:59:54 +00:00
Jamis Buck
5ced402393 Remove dependency on Pathname in new routes
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4439 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-05 16:01:50 +00:00
Jamis Buck
6c04eb2115 Make sure changing the controller from foo/bar to bing/bang does not change relative to foo.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4438 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-05 15:48:29 +00:00
Jamis Buck
149f5cad85 Escape the entire path before trying to recognize it (closes #3671)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4436 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-05 15:30:09 +00:00
Jamis Buck
2ffc84d23f Make sure :id and friends are properly unescaped (closes #5275).
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4435 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-05 14:51:27 +00:00
Jamis Buck
332fcfaf6b Make sure regexp chunks are grouped when the segment has a regexp constraint so that captures are counted correctly (closes #5267)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4434 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-05 14:31:38 +00:00
Jamis Buck
ba4d4ad4a8 Add RouteSet::Mapper#named_route for compatibility with adding programmatically named routes
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4395 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-01 16:00:15 +00:00
Jamis Buck
b20c575ac0 New routes implementation. Simpler, faster, easier to understand. The published API for config/routes.rb is unchanged, but nearly everything else is different, so expect breakage in plugins and libs that try to fiddle with routes.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4394 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-01 15:42:08 +00:00
David Heinemeier Hansson
4a98cbe2dd If not passing a hash, assume :id => whatever
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4381 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-05-31 04:48:46 +00:00
Rick Olson
04ef7f4be6 Small fix in routing to allow dynamic routes (broken after [4242]) [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4319 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-30 21:06:49 +00:00
Jamis Buck
0a0b5bd722 fix to ';' interpretation in route recognition--only follow a route with ';' if the segment in question actually contains a ';'
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4244 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-21 17:21:26 +00:00
Jamis Buck
1f80f540a7 Add support in routes for semicolon delimited "subpaths", like /books/:id;:action
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4242 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-21 15:17:02 +00:00
Jamis Buck
7a8883eee9 Modify routing so that you can say :require => { :method => :post } for a route, and the route will never be selected unless the request method is POST. Only works for route recognition, not for route generation.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4209 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-13 05:44:23 +00:00
Nicholas Seckar
065b3af358 Explain thyself
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3893 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-16 04:09:18 +00:00
David Heinemeier Hansson
500c734935 Breakpoints in running code makes for no fun ;)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3883 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-16 02:48:25 +00:00
Tobias Lütke
7bbc759dc0 Fixes a bug in routes controller traversing which caused it to fail on for double nested controllers. [Tobias Luetke]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3879 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-15 22:48:22 +00:00
Nicholas Seckar
de54db3c1e Check NameErrors and re-raise if they do not match the expected constant
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3636 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-22 17:29:22 +00:00
Nicholas Seckar
5450538563 Don't let arbitrary classes match as controllers
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3542 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 23:59:37 +00:00
Nicholas Seckar
b381d8511d Fix Routing tests. Fix routing where failing to match a controller would prevent the rest of routes from being attempted.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3539 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 23:09:26 +00:00
Tobias Lütke
28cee08fa4 fixed small bug in routing which caused the traverse_to_controller mechanism to drop out on
Multi::Nested::Controllers


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3538 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 22:04:19 +00:00
Nicholas Seckar
38aae1b122 Remove unneeded logging
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3531 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 05:41:58 +00:00
Nicholas Seckar
dfa6e14af6 Fix controller resolution to avoid accidentally inheriting a controller from a parent module.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3530 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 05:20:25 +00:00
Nicholas Seckar
ad9cabd77c Remove LoadingModule
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3526 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-03 20:29:39 +00:00
Nicholas Seckar
bd5ace88b2 Initialize @optional in routing code to avoid warnings
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3163 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-22 22:24:25 +00:00
David Heinemeier Hansson
620726f844 Add "#:nodoc:" for ActionController::Routing::PathComponent::Result #2209 [l.francke@gmx.de]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2254 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-17 06:37:50 +00:00
Nicholas Seckar
27962ead03 Add ability to specify Route Regexps for controllers. Closes #1917.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2205 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-11 13:56:43 +00:00
Nicholas Seckar
9e5d64b3bb Provide Named Route's hash methods as helper methods. Closes #1744.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2204 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-11 13:45:55 +00:00
Nicholas Seckar
1cbd1f9698 Fix routing to handle :some_param => nil better
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2054 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-08-26 10:57:43 +00:00
Nicholas Seckar
741316dc71 Fixed construction of get parameters for arrays
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1857 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-18 03:12:45 +00:00
Nicholas Seckar
bf0b7588ee Add RouteSet#named_route so that RouteSet instance methods do not shadow available route names
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1834 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-14 10:32:37 +00:00
Nicholas Seckar
6ed16ff602 Provide correct defaults for Named Routes which do not specify :action
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1833 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-14 09:09:39 +00:00
Nicholas Seckar
2bd4ff11f8 Generate URLs for :action => index when :action => nil is supplied.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1826 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-14 00:13:06 +00:00