aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
Commit message (Collapse)AuthorAgeFilesLines
* Use get in the redirection doc examplesCarlos Antonio da Silva2012-11-091-7/+7
| | | | | | | get is the most common usage, and match without an explicit verb was disallowed in 56cdc81c08b1847c5c1f699810a8c3b9ac3715a6. [ci skip]
* routing prefix slash replacement is no longer necessaryYves Senn2012-11-041-3/+1
|
* Clear url helpers when reloading routesSantiago Pastorino2012-11-021-0/+1
|
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-11-035-83/+83
|\ | | | | | | | | | | | | Conflicts: actionpack/lib/action_controller/metal/mime_responds.rb activerecord/lib/active_record/attribute_methods.rb guides/source/working_with_javascript_in_rails.md
| * 1.9 hash syntax changes to docsAvnerCohen2012-10-315-83/+83
| |
* | Revert "Merge pull request #7668 from Draiken/fix_issue_6497"Rafael Mendonça França2012-11-021-1/+1
|/ | | | | | | | | | | | | | This reverts commit f4ad0ebe7a6b17658bddfeb996e3c34835b75623, reversing changes made to 8b2cbb3a832101f0e672ee309beca0f8c555b292. Conflicts: actionpack/CHANGELOG.md REASON: This added introduced a bug when you have a shorthand route inside a nested namespace. See https://github.com/rafaelfranca/rails/commit/281367eb770faf8077c1fd6194188e92ed1637a1
* Revert "Use flat_map { } instead of map {}.flatten"Santiago Pastorino2012-10-051-2/+2
| | | | | | | | | | | This reverts commit abf8de85519141496a6773310964ec03f6106f3f. We should take a deeper look to those cases flat_map doesn't do deep flattening. irb(main):002:0> [[[1,3], [1,2]]].map{|i| i}.flatten => [1, 3, 1, 2] irb(main):003:0> [[[1,3], [1,2]]].flat_map{|i| i} => [[1, 3], [1, 2]]
* Use flat_map { } instead of map {}.flattenSantiago Pastorino2012-10-051-2/+2
|
* resource and resources do no longer modify passed optionsYves Senn2012-10-011-2/+2
| | | | this is a patch for #7777.
* fixing most tests on Ruby 2.0Aaron Patterson2012-09-251-1/+1
|
* Removing to_shorthand from default_controller_and_action. Fixes #6497Luiz Felipe2012-09-191-1/+1
| | | | | When using shortcut routes inside an engine the "to_shorthand" variable is set to true, causing the module scope of the route to not be applied.
* Use internal instance variable naming scheme for mounted URL helper proxiesSam Pohlenz2012-09-091-1/+1
|
* Make enhanced routing Concerns more tell-don't-askErnie Miller2012-09-031-25/+55
|
* Fix concerns not executing block in mapperErnie Miller2012-09-031-2/+19
| | | | Also, add documentation for alternate usage.
* Allow routing concerns to accept a callableErnie Miller2012-09-031-3/+7
| | | | | | This allows us to make alterations to the generated routes based on the scope of the current mapper, and otherwise allows us to move larger blocks of concerns out of the routes file, altogether.
* Update actionpack/lib/action_dispatch/routing/mapper.rbErik Ordway2012-08-291-1/+1
| | | escape the '.'s  
* refactor route_set `generate_extras` functionalityschneems2012-08-281-17/+9
| | | | | | The result of Generator with or without the @extras instance variable set contains the desired information. Rather than preserving state when initializing the original object, we can simply extract the keys from the resultant parameters. ATP Actionpack, railties
* Add Missing Keys from Journey on failed URL formatschneems2012-08-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | Many named routes have keys that are required to successfully resolve. If a key is left off like this: <%= link_to 'user', user_path %> This will produce an error like this: No route matches {:action=>"show", :controller=>"users"} Since we know that the :id is missing, we can add extra debugging information to the error message. No route matches {:action=>"show", :controller=>"users"} missing required keys: [:id] This will help new and seasoned developers look closer at their parameters. I've also subclassed the routing error to be clear that this error is a result of attempting to generate a url and not because the user is trying to visit a bad url. While this may sound trivial this error message is misleading and confuses most developers. The important part isn't what's in the options its's what's missing. Adding this information to the error message will make debugging much more obvious. This is the sister pull request of https://github.com/rails/journey/pull/44 which will be required to get they missing keys into the correct error message. Example Development Error in Rails: http://cl.ly/image/3S0T0n1T3421
* removed : warning: `*' interpreted as argument prefixArun Agrawal2012-08-281-1/+1
|
* Don't require action_dispatch in ActionView::UrlHelpersPiotr Sarnacki2012-08-281-0/+2
| | | | | | | | | | ActionDispatch::Routing::UrlFor was always required in UrlHelpers. This was changed by splitting previous implementation of UrlHelper into 2 modules: ActionView::Helpers::UrlHelper and ActionView::Routing::UrlHelper. The former one keeps only basic implementation of url_for. The latter adds features that allow to use routes and is only required when url_helpers or mounted_helpers are required.
* Make sure :via works with mountPratik Naik2012-08-201-2/+3
|
* Add CHANGELOG entry and documentation for Routing ConcernsRafael Mendonça França2012-08-131-0/+38
|
* Implementing Routing ConcernsRafael Mendonça França2012-08-131-1/+23
| | | | | | | This pattern was introduced as a plugin by @dhh. The original implementation can be found in https://github.com/rails/routing_concerns
* Further refactor build_conditions in route setCarlos Antonio da Silva2012-08-101-5/+3
| | | | | Return the conditions from the keep_if call, and ignore the value argument since it's not being used.
* Fix handling SCRIPT_NAME from within mounted engine'sPiotr Sarnacki2012-08-111-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you mount your application at a path, for example /myapp, server should set SCRIPT_NAME to /myapp. With such information, rails application knows that it's mounted at /myapp path and it should generate routes relative to that path. Before this patch, rails handled SCRIPT_NAME correctly only for regular apps, but it failed to do it for mounted engines. The solution was to hardcode default_url_options[:script_name], which is not the best answer - it will work only when application is mounted at a fixed path. This patch fixes the situation by respecting original value of SCRIPT_NAME when generating application's routes from engine and the other way round - when you generate engine's routes from application. This is done by using one of 2 pieces of information in env - current SCRIPT_NAME or SCRIPT_NAME for a corresponding router. This is because we have 2 cases to handle: - generating engine's route from application: in this situation SCRIPT_NAME is basically SCRIPT_NAME set by the server and it indicates the place where application is mounted, so we can just pass it as :original_script_name in url_options. :original_script_name is used because if we use :script_name, router will ignore generating prefix for engine - generating application's route from engine: in this situation we already lost information about the SCRIPT_NAME that server used. For example if application is mounted at /myapp and engine is mounted at /blog, at this point SCRIPT_NAME is equal /myapp/blog. Because of that we need to keep reference to /myapp SCRIPT_NAME by binding it to the current router. Later on we can extract it and use when generating url Please note that starting from now you *should not* use default_url_options[:script_name] explicitly if your server already passes correct SCRIPT_NAME to rack env. (closes #6933)
* RouteSet: refactor internalsBogdan Gusiev2012-08-101-10/+7
| | | | | No need to build valid_conditions array. We can get all the data in place.
* Revert "polymorphic_url with an array generates a query string"Andrew White2012-08-041-4/+1
| | | | | Passing options as the last value in an array doesn't work with form_for. This reverts commit 61c8a4d926343903593a27080216af7e4ed81268.
* Revert "Refactor passing url options via array for polymorphic_url"Andrew White2012-08-041-2/+2
| | | | | Passing options as the last value in an array doesn't work with form_for. This reverts commit 6be564c7a087773cb0b51c54396cc190e4f5c983.
* RouteSet: cleanup some unneeded compexityBogdan Gusiev2012-08-041-16/+7
|
* Renamed _path_segments to _recallBogdan Gusiev2012-08-041-2/+2
|
* Simplify logical statementBogdan Gusiev2012-08-041-4/+2
|
* Merge branch 'polymorphic_url_builds_query_string_with_array'Andrew White2012-08-041-1/+4
|\
| * Refactor passing url options via array for polymorphic_urlAndrew White2012-08-041-2/+2
| | | | | | | | | | | | | | | | Rather than keep the url options in record_or_hash_or_array, extract it and reverse merge with options as it may contain important private keys like `:routing_type`. Closes #7259
| * polymorphic_url with an array generates a query stringRomain Tribes2012-08-041-1/+4
| | | | | | | | | | Generating an URL with an array of records is now able to build a query string if the last item of the array is a hash.
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-041-0/+8
|\ \ | |/ |/| | | | | | | Conflicts: activemodel/lib/active_model/secure_password.rb activerecord/lib/active_record/associations/collection_proxy.rb
| * copy edits [ci skip]Vijay Dev2012-08-041-2/+2
| |
| * fix punctuation in #resources and #match documentation [ci skip]Francesco Rodriguez2012-07-311-4/+4
| |
| * Update #match documentation [ci skip]Robert Pankowecki2012-07-311-0/+4
| |
| * Update #resources documentation [ci skip]Robert Pankowecki2012-07-311-0/+4
| |
* | load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-022-2/+0
| |
* | fix typo in documentationAnatoly Makarevich2012-07-261-1/+1
|/
* Don't assume resource param is :id when using shallow routesAndrew White2012-07-201-1/+3
| | | | | Since #5581 added support for resources with custom params we should not assume that it is :id when using shallow resource routing.
* Support constraints on resource custom params when nestingAndrew White2012-07-201-8/+12
| | | | | | | The Mapper looks for a :id constraint in the scope to see whether it should apply a constraint for nested resources. Since #5581 added support for resource params other than :id, we need to check for a constraint on the parent resource's param name and not assume it's :id.
* Add support for optional root segments containing slashesAndrew White2012-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optional segments with a root scope need to have the leading slash outside of the parentheses, otherwise the generated url will be empty. However if the route has non-optional elements then the leading slash needs to remain inside the parentheses otherwise the generated url will have two leading slashes, e.g: Blog::Application.routes.draw do get '/(:category)', :to => 'posts#index', :as => :root get '/(:category)/author/:name', :to => 'posts#author', :as => :author end $ rake routes root GET /(:category)(.:format) posts#index author GET (/:category)/author/:name(.:format) posts#author This change adds support for optional segments that contain a slash, allowing support for urls like /page/2 for the root path, e.g: Blog::Application.routes.draw do get '/(page/:page)', :to => 'posts#index', :as => :root end $ rake routes root GET /(page/:page)(.:format) posts#index Fixes #7073
* Fix class_eval without __FILE__ and __LINE__.kennyj2012-07-181-1/+1
|
* Raise a helpful error message on #mount misuseCarl Lerche2012-07-101-0/+4
|
* Rename RouteInspector to RoutesInspectorCarlos Antonio da Silva2012-07-081-1/+1
| | | | Follow the consistency defined in dbc43bc.
* move route_inspector to actionpack@schneems and @mattt2012-07-071-0/+121
| | | | this is so we can show route output in the development when we get a routing error. Railties can use features of ActionDispatch, but ActionDispatch should not depend on Railties.
* Merge pull request #6904 from guilleiguaran/remove-amo-dependency-in-apCarlos Antonio da Silva2012-06-301-7/+7
|\ | | | | Remove Active Model dependency from Action Pack
| * Remove ActiveModel dependency from ActionPackGuillermo Iguaran2012-06-301-7/+7
| | | | | | | | | | | | | | | | ActiveModel is used in ActionPack for ActiveModel::Naming for a few, mostly optional aspects of ActionPack related to automatically converting an ActiveModel compliant object into a key for params and routing. It uses only three methods of ActiveModel (ActiveModel::Naming.route_key, ActiveModel::Naming.singular_route_key and ActiveModel::Naming.param_key).