From 112274ebffa0cb3e5e15e61a866031d9200c5331 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jose=20A=C3=B1asco?= <joseanasco1@gmail.com>
Date: Mon, 8 Dec 2014 20:14:34 -0500
Subject: Fix options overwritten by super

---
 .../lib/action_view/helpers/tags/search_field.rb     | 20 +++++++++-----------
 .../lib/action_view/helpers/tags/text_field.rb       |  1 +
 2 files changed, 10 insertions(+), 11 deletions(-)

(limited to 'actionview/lib')

diff --git a/actionview/lib/action_view/helpers/tags/search_field.rb b/actionview/lib/action_view/helpers/tags/search_field.rb
index c09e2f1be7..4597cec6fa 100644
--- a/actionview/lib/action_view/helpers/tags/search_field.rb
+++ b/actionview/lib/action_view/helpers/tags/search_field.rb
@@ -3,20 +3,18 @@ module ActionView
     module Tags # :nodoc:
       class SearchField < TextField # :nodoc:
         def render
-          options = @options.stringify_keys
-
-          if options["autosave"]
-            if options["autosave"] == true
-              options["autosave"] = request.host.split(".").reverse.join(".")
+          super do |options|
+            if options["autosave"]
+              if options["autosave"] == true
+                options["autosave"] = request.host.split(".").reverse.join(".")
+              end
+              options["results"] ||= 10
             end
-            options["results"] ||= 10
-          end
 
-          if options["onsearch"]
-            options["incremental"] = true unless options.has_key?("incremental")
+            if options["onsearch"]
+              options["incremental"] = true unless options.has_key?("incremental")
+            end
           end
-
-          super
         end
       end
     end
diff --git a/actionview/lib/action_view/helpers/tags/text_field.rb b/actionview/lib/action_view/helpers/tags/text_field.rb
index 5c576a20ca..49fc81ec8c 100644
--- a/actionview/lib/action_view/helpers/tags/text_field.rb
+++ b/actionview/lib/action_view/helpers/tags/text_field.rb
@@ -11,6 +11,7 @@ module ActionView
           options["size"] = options["maxlength"] unless options.key?("size")
           options["type"] ||= field_type
           options["value"] = options.fetch("value") { value_before_type_cast(object) } unless field_type == "file"
+          yield options if block_given?
           add_default_name_and_id(options)
           tag("input", options)
         end
-- 
cgit v1.2.3