aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
Commit message (Collapse)AuthorAgeFilesLines
...
* Modified polymorphic_url to check for model's namespacePiotr Sarnacki2010-09-031-0/+4
| | | | | | | | | | | This change allows using namespaced models with polymorphic_url, in the way that you would use them without namespace. Let's say that you have Blog::Post model in namespaced Engine. When you use polymorphic_path with Blog::Post instances, like in form_for(@post), it will look for blog_posts_path named url helper. As we are inside Blog::Engine, it's annoying to always use the prefix. With this commit, blog_ prefix will be removed and posts_path will be called.
* Refactor RoutesProxy to avoid using _with_routes in helpersPiotr Sarnacki2010-09-032-1/+5
|
* Refactor ActionMailer to not use hide_actionsPiotr Sarnacki2010-09-031-1/+6
|
* Fix generating urls with mounted helpers in view contextPiotr Sarnacki2010-09-031-1/+1
| | | | | | | | | | There were actually 2 problems with this one: * script_name was added to options as a string and then it was used in RouteSet#url_for with usage of <<, which was changing the original script_name * the second issue was with _with_routes method. It was called in RoutesProxy to modify _routes in view_context, but url_helpers in views is just delegating it to controller, so another _with_routes call is needed there
* For view_context we need to initialize RoutesProxy in context of controller, ↵Piotr Sarnacki2010-09-031-2/+4
| | | | not view, quick fix, I need to dig into it later
* Add Rails::Railtie.railtie_name method to allow setting custom name for railtiePiotr Sarnacki2010-09-031-2/+7
|
* We don't need delegating polymorphic_url and polymorphic_path anymorePiotr Sarnacki2010-09-031-10/+6
|
* Add mounted_helpers to routesPiotr Sarnacki2010-09-033-23/+69
| | | | | | | | | | | | | | | | mounted_helpers are a bit similar to url_helpers. They're automatically included in controllers for Rails.application and each of mounted Engines. Mounted helper allows to call url_for and named helpers for given application. Given Blog::Engine mounted as blog_engine, there are 2 helpers defined: app and blog_engine. You can call routes for app and engine using those helpers: app.root_url app.url_for(:controller => "foo") blog_engine.posts_path blog_engine.url_for(@post)
* Routes refactoring:Piotr Sarnacki2010-09-033-9/+6
| | | | | | | * added more tests for prefix generation * fixed bug with generating host for both prefix and url * refactored url_for method * organized tests for prefix generation
* Extended url_for to handle specifying which router should be used.Piotr Sarnacki2010-09-033-29/+42
| | | | | | | A few examples: url_for Blog::Engine, :posts_path url_for Blog::Engine, @post url_for Blog::Engine, :action => "main", :controller => "index"
* Get rid of :skip_prefix options in routesPiotr Sarnacki2010-09-031-6/+3
|
* New way of generating urls for Application from Engine.Piotr Sarnacki2010-09-032-7/+12
| | | | | | | | | It's based specifying application's script_name with: Rails.application.default_url_options = {:script_name => "/foo"} default_url_options method is delegated to routes. If router used to generate url differs from the router passed via env it always overwrites :script_name with this value.
* Allow to generate Application routes inside EnginePiotr Sarnacki2010-09-032-4/+4
| | | | | | This requires knowledge about original SCRIPT_NAME and the parent router. It should be pass through the env as ORIGIAL_SCRIPT_NAME and action_dispatch.parent_routes
* Use env['action_dispatch.routes'] to determine if we should generate prefix ↵Piotr Sarnacki2010-09-033-7/+48
| | | | | | | | | | or not. This technique is here to allow using routes from Engine in Application and vice versa. When using Engine routes inside Application it should generate prefix based on mount point. When using Engine routes inside Engine it should use env['SCRIPT_NAME']. In any other case it should generate prefix as env should not be even available.
* Revert "Setup explicit requires for files with exceptions. Removed them from ↵José Valim2010-09-022-2/+0
| | | | | | | | autoloading." Booting a new Rails application does not work after this commit [#5359 state:open] This reverts commit 38a421b34d0b414564e919f67d339fac067a56e6.
* Setup explicit requires for files with exceptions. Removed them from ↵Łukasz Strzałkowski2010-09-022-0/+2
| | | | | | autoloading. Signed-off-by: José Valim <jose.valim@gmail.com>
* Move implicit nested call before options handling so that nested constraints ↵Andrew White2010-09-011-9/+7
| | | | | | work [#5513 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* resolves merge conflictXavier Noria2010-08-313-6/+174
|\
| * Expanded routing documentation with current best practicesJoost Baaij2010-08-293-6/+174
| |
* | Micro optimization for build_named_route_call in PolymorphicRoutes:yury2010-08-281-10/+10
|/ | | | | | | | | 1. use map instead of inject 2. use [].join("_") instead of '<<'. It is a little bit faster for ruby 1.9.2 and x2 faster for ruby 1.8.7. http://gist.github.com/548143 [#5450 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Use nested scope for routes defined at the :resources scope level (as in ↵Andrew White2010-08-241-5/+6
| | | | | | Rails 2.3) Signed-off-by: José Valim <jose.valim@gmail.com>
* Allow format to be skipped. This is used internally by mount.José Valim2010-08-241-2/+5
|
* Finally fix the bug where symbols and strings were not having the same ↵José Valim2010-08-241-67/+46
| | | | | | | behavior in the router. If you were using symbols before for methods like match/get/post/put/delete, it is likely that this commit will break your routes. Everything should behave the same if you are using strings, if not, please open up a ticket.
* Ensure shortcuts inside resources also generates helpers.José Valim2010-08-241-48/+39
|
* Fix how routes inside namespaces are generated.José Valim2010-08-241-1/+1
|
* Allow actions which start with A-Za-z_ onlySantiago Pastorino2010-08-241-1/+1
|
* Ensure prefix in routes are generated properly.José Valim2010-08-241-13/+10
|
* Fix a bug where symbols and strings were not behaving the same in the ↵José Valim2010-08-241-9/+4
| | | | router. [#5431 state:resolved]
* When custom resource actions are specified using strings add the default ↵Andrew White2010-08-241-2/+6
| | | | | | | | name and action if the string is a valid ruby method name. [#5431 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Cache the symbolized path parameters using a instance variable in the ↵Andrew White2010-08-221-1/+6
| | | | | | | | | | | request object rather than the environment hash. This it to prevent stale parameters in later routing constraints/redirects as only the normal path parameters are set by Rack::Mount. Also if a constraint proc arity is more than one, pass the symbolized path parameters as the first argument to match redirect proc args and provide easier access. [#5157 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Fix hash modification during iteration in Mapper [#5420]Nick Sieger2010-08-201-1/+1
| | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Support routing constraints in functional testsAndrew White2010-08-201-2/+2
| | | | | | | | | | Extend assert_recognizes and assert_generates to support passing full urls as the path argument. This allows testing of routing constraints such as subdomain and host within functional tests. [#5005 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Don't add the standard https port when using redirect in routes.rb and ↵Andrew White2010-08-201-1/+1
| | | | | | | | ensure that request.scheme returns https when using a reverse proxy. [#5408 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Allow symbols for :path resource(s) option [#5306 state:resolved]Andrew White2010-08-201-2/+2
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Move regexps in options hash to :constraints hash so that they are pushed ↵Andrew White2010-08-191-0/+4
| | | | | | into the scope [#5208 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Move edit route before show route so that it will have precedence if the :id ↵Andrew White2010-08-191-2/+2
| | | | | | parameter allows slashes [#5409 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Don't pluralize resource methods [#4704 state:resolved]Javier Martín2010-08-181-14/+14
| | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Allow member actions (get, etc) to accept strings, with testAndre Arko2010-08-171-0/+1
|
* adds missing requires for Object#tryXavier Noria2010-08-091-0/+1
|
* adds URL to the body generated by the redirect macro in the routes mapper as ↵Xavier Noria2010-08-091-1/+4
| | | | per the RFC, extracts common test pattern into a test macro, adds a test to cover the :status option
* Avoid potentially expensive inspect call in router. [#4491 state:resolved]Samuel Lebeau2010-08-031-3/+6
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* edit pass to apply API guideline wrt the use of "# =>" in example codeXavier Noria2010-07-301-1/+1
|
* Change returning with tapSantiago Pastorino2010-07-251-1/+1
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* options could be of any kind of Hash (Hash, HashWithIndifferentAccess or ↵Santiago Pastorino2010-07-212-2/+2
| | | | OrderedHash) this way we keep the properties of the options passed as an argument
* Fixed a globbed route issue where slashes were being escaped, causing ↵Brian Rose2010-07-211-1/+2
| | | | | | assert_routing to fail. [#5135 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Moved a few methods from RecordIdentifier to ActiveModel::NamingPiotr Sarnacki2010-07-211-3/+3
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Moved PolymorphicRoutes to ActionDispatch::RoutingPiotr Sarnacki2010-07-202-0/+187
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Bump up to rack-mount 0.6.9 and rack-mount-0.6.6.pre removed from ↵Santiago Pastorino2010-07-151-3/+1
| | | | action_dispatch vendor
* Fixes a regression caused by having mapping options controller and action as ↵Santiago Pastorino2010-07-121-1/+4
| | | | | | blank Signed-off-by: José Valim <jose.valim@gmail.com>
* Routes should respect namespace even if action is a regexp and just ↵José Valim2010-07-121-34/+29
| | | | controller is given to to.