From d7c1e62c2cd2969b991bc4a1150b02b27f6d6e3f Mon Sep 17 00:00:00 2001 From: Andrew White Date: Tue, 21 Feb 2017 15:29:10 +0000 Subject: Split direct method into two Use a separate method called `resolve` for the custom polymorphic mapping to clarify the API. --- actionpack/CHANGELOG.md | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) (limited to 'actionpack/CHANGELOG.md') diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index 869fc7d484..8226a5be47 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -5,42 +5,41 @@ *Andrew White* -* Add the `direct` method to the routing DSL +* Add the `resolve` method to the routing DSL - This new method allows customization of the routing behavior in two ways: + This new method allows customization of the polymorphic mapping of models: - 1. Custom url helpers: + ``` ruby + resource :basket + direct(class: "Basket") { [:basket] } + ``` - ``` ruby - direct(:apple) { "http://www.apple.com" } + ``` erb + <%= form_for @basket do |form| %> + + <% end %> + ``` - >> apple_url - => "http://www.apple.com" - ``` + This generates the correct singular URL for the form instead of the default + resources member url, e.g. `/basket` vs. `/basket/:id`. - This has the advantage of being available everywhere url helpers are available - unlike custom url helpers defined in helper modules, etc. + Fixes #1769. - 2. Custom polymorphic mappings: + *Andrew White* - ``` ruby - resource :basket - direct(class: "Basket") { [:basket] } - ``` +* Add the `direct` method to the routing DSL - ``` erb - <%= form_for @basket do |form| %> - - <% end %> - ``` + This new method allows creation of custom url helpers, e.g: - This generates the correct singular URL for the form instead of the default - resources member url, e.g. `/basket` vs. `/basket/:id`. + ``` ruby + direct(:apple) { "http://www.apple.com" } - Currently both forms of `direct` do not take anything from the current routing - scope so it's recommended to declare them outside of any `namespace` or `scope` block. + >> apple_url + => "http://www.apple.com" + ``` - Fixes #1769. + This has the advantage of being available everywhere url helpers are available + unlike custom url helpers defined in helper modules, etc. *Andrew White* -- cgit v1.2.3