diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2017-11-14 14:28:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-14 14:28:02 -0500 |
commit | 016011551185aee7077f0b9f9635baab568a96a8 (patch) | |
tree | e8c90ff0f685e69a827df03217023ca5bb768603 /actionview | |
parent | df82237a45e930a7ab53b95bee78a3f34c5b92fb (diff) | |
parent | c57e914cd1517013ffdc1fd92f0f705444f26206 (diff) | |
download | rails-016011551185aee7077f0b9f9635baab568a96a8.tar.gz rails-016011551185aee7077f0b9f9635baab568a96a8.tar.bz2 rails-016011551185aee7077f0b9f9635baab568a96a8.zip |
Merge pull request #30963 from q-centrix/performance-improvements-add_method_to_attributes
Performance improvements for add_method_to_attributes!
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/lib/action_view/helpers/url_helper.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/actionview/lib/action_view/helpers/url_helper.rb b/actionview/lib/action_view/helpers/url_helper.rb index 9900e0cd03..02335c72ec 100644 --- a/actionview/lib/action_view/helpers/url_helper.rb +++ b/actionview/lib/action_view/helpers/url_helper.rb @@ -589,7 +589,7 @@ module ActionView end def add_method_to_attributes!(html_options, method) - if method && method.to_s.downcase != "get" && html_options["rel"] !~ /nofollow/ + if method_not_get_method?(method) && html_options["rel"] !~ /nofollow/ if html_options["rel"].blank? html_options["rel"] = "nofollow" else @@ -599,6 +599,19 @@ module ActionView html_options["data-method"] = method end + STRINGIFIED_COMMON_METHODS = { + get: "get", + delete: "delete", + patch: "patch", + post: "post", + put: "put", + }.freeze + + def method_not_get_method?(method) + return false unless method + (STRINGIFIED_COMMON_METHODS[method] || method.to_s.downcase) != "get" + end + def token_tag(token = nil, form_options: {}) if token != false && protect_against_forgery? token ||= form_authenticity_token(form_options: form_options) |