diff --git a/actionview/CHANGELOG.md b/actionview/CHANGELOG.md
index 552a902349a09fea24c848a74e192eecb4727921..3fc2ab178c7cf8a78756ec55b7d3129610ea5b2f 100644
--- a/actionview/CHANGELOG.md
+++ b/actionview/CHANGELOG.md
@@ -1,9 +1,3 @@
-* Add I18n support for input/textarea placeholder text.
-
- Placeholder I18n follows the same convention as `label` I18n.
-
- *Alex Robbin*
-
* Fix that render layout: 'messages/layout' should also be added to the dependency tracker tree.
*DHH*
diff --git a/actionview/lib/action_view/helpers/tags/placeholderable.rb b/actionview/lib/action_view/helpers/tags/placeholderable.rb
deleted file mode 100644
index 313aa725c9ec233873847cb3f63a0de19a955e1a..0000000000000000000000000000000000000000
--- a/actionview/lib/action_view/helpers/tags/placeholderable.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-module ActionView
- module Helpers
- module Tags # :nodoc:
- module Placeholderable # :nodoc:
- def initialize(*)
- super
-
- if tag_value = @options[:placeholder]
- object_name = @object_name.gsub(/\[(.*)_attributes\]\[\d+\]/, '.\1')
- method_and_value = tag_value.is_a?(TrueClass) ? @method_name : "#{@method_name}.#{tag_value}"
-
- if object.respond_to?(:to_model)
- key = object.class.model_name.i18n_key
- i18n_default = ["#{key}.#{method_and_value}".to_sym, ""]
- end
-
- i18n_default ||= ""
- placeholder = I18n.t("#{object_name}.#{method_and_value}", :default => i18n_default, :scope => "helpers.placeholder").presence
-
- placeholder ||= if object && object.class.respond_to?(:human_attribute_name)
- object.class.human_attribute_name(method_and_value)
- end
-
- placeholder ||= @method_name.humanize
-
- @options[:placeholder] = placeholder
- end
- end
- end
- end
- end
-end
diff --git a/actionview/lib/action_view/helpers/tags/text_area.rb b/actionview/lib/action_view/helpers/tags/text_area.rb
index 69038c1498adb1fb336c48a10fe549a3cb376313..9ee83ee7c27d9ef5a975494e20f5b07ac031558b 100644
--- a/actionview/lib/action_view/helpers/tags/text_area.rb
+++ b/actionview/lib/action_view/helpers/tags/text_area.rb
@@ -1,11 +1,7 @@
-require 'action_view/helpers/tags/placeholderable'
-
module ActionView
module Helpers
module Tags # :nodoc:
class TextArea < Base # :nodoc:
- include Placeholderable
-
def render
options = @options.stringify_keys
add_default_name_and_id(options)
diff --git a/actionview/lib/action_view/helpers/tags/text_field.rb b/actionview/lib/action_view/helpers/tags/text_field.rb
index 5c576a20cad06faae7e9b0354c947a46ca7732a7..e0b80d81c2c0a9270b87f90feec285ea36751209 100644
--- a/actionview/lib/action_view/helpers/tags/text_field.rb
+++ b/actionview/lib/action_view/helpers/tags/text_field.rb
@@ -1,11 +1,7 @@
-require 'action_view/helpers/tags/placeholderable'
-
module ActionView
module Helpers
module Tags # :nodoc:
class TextField < Base # :nodoc:
- include Placeholderable
-
def render
options = @options.stringify_keys
options["size"] = options["maxlength"] unless options.key?("size")
diff --git a/actionview/test/template/form_helper_test.rb b/actionview/test/template/form_helper_test.rb
index d944214961c6b49332e5c0926351a78b6dad7fbb..a9f137aec68d82878d71d123515b46b86966fe77 100644
--- a/actionview/test/template/form_helper_test.rb
+++ b/actionview/test/template/form_helper_test.rb
@@ -59,35 +59,6 @@ def form_for(*)
}
}
- I18n.backend.store_translations 'placeholder', {
- activemodel: {
- attributes: {
- post: {
- cost: "Total cost"
- },
- :"post/cost" => {
- uk: "Pounds"
- }
- }
- },
- helpers: {
- placeholder: {
- post: {
- title: "What is this about?",
- written_on: {
- spanish: "Escrito en"
- },
- comments: {
- body: "Write body here"
- }
- },
- tag: {
- value: "Tag"
- }
- }
- }
- }
-
@post = Post.new
@comment = Comment.new
def @post.errors()
@@ -326,68 +297,6 @@ def test_label_with_block_in_erb
)
end
- def test_text_field_placeholder_without_locales
- with_locale :placeholder do
- assert_dom_equal('', text_field(:post, :body, placeholder: true))
- end
- end
-
- def test_text_field_placeholder_with_locales
- with_locale :placeholder do
- assert_dom_equal('', text_field(:post, :title, placeholder: true))
- end
- end
-
- def test_text_field_placeholder_with_human_attribute_name
- with_locale :placeholder do
- assert_dom_equal('', text_field(:post, :cost, placeholder: true))
- end
- end
-
- def test_text_field_placeholder_with_human_attribute_name_and_value
- with_locale :placeholder do
- assert_dom_equal('', text_field(:post, :cost, placeholder: "uk"))
- end
- end
-
- def test_text_field_placeholder_with_locales_and_value
- with_locale :placeholder do
- assert_dom_equal('', text_field(:post, :written_on, placeholder: "spanish"))
- end
- end
-
- def test_text_field_placeholder_with_locales_and_nested_attributes
- with_locale :placeholder do
- form_for(@post, html: { id: 'create-post' }) do |f|
- f.fields_for(:comments) do |cf|
- concat cf.text_field(:body, placeholder: true)
- end
- end
-
- expected = whole_form("/posts/123", "create-post", "edit_post", method: "patch") do
- ''
- end
-
- assert_dom_equal expected, output_buffer
- end
- end
-
- def test_text_field_placeholder_with_locales_fallback_and_nested_attributes
- with_locale :placeholder do
- form_for(@post, html: { id: 'create-post' }) do |f|
- f.fields_for(:tags) do |cf|
- concat cf.text_field(:value, placeholder: true)
- end
- end
-
- expected = whole_form("/posts/123", "create-post", "edit_post", method: "patch") do
- ''
- end
-
- assert_dom_equal expected, output_buffer
- end
- end
-
def test_text_field
assert_dom_equal(
'',
@@ -756,83 +665,6 @@ def test_radio_button_with_booleans
)
end
- def test_text_area_placeholder_without_locales
- with_locale :placeholder do
- assert_dom_equal(
- %{},
- text_area(:post, :body, placeholder: true)
- )
- end
- end
-
- def test_text_area_placeholder_with_locales
- with_locale :placeholder do
- assert_dom_equal(
- %{},
- text_area(:post, :title, placeholder: true)
- )
- end
- end
-
- def test_text_area_placeholder_with_human_attribute_name
- with_locale :placeholder do
- assert_dom_equal(
- %{},
- text_area(:post, :cost, placeholder: true)
- )
- end
- end
-
- def test_text_area_placeholder_with_human_attribute_name_and_value
- with_locale :placeholder do
- assert_dom_equal(
- %{},
- text_area(:post, :cost, placeholder: "uk")
- )
- end
- end
-
- def test_text_area_placeholder_with_locales_and_value
- with_locale :placeholder do
- assert_dom_equal(
- %{},
- text_area(:post, :written_on, placeholder: "spanish")
- )
- end
- end
-
- def test_text_area_placeholder_with_locales_and_nested_attributes
- with_locale :placeholder do
- form_for(@post, html: { id: 'create-post' }) do |f|
- f.fields_for(:comments) do |cf|
- concat cf.text_area(:body, placeholder: true)
- end
- end
-
- expected = whole_form("/posts/123", "create-post", "edit_post", method: "patch") do
- %{}
- end
-
- assert_dom_equal expected, output_buffer
- end
- end
-
- def test_text_area_placeholder_with_locales_fallback_and_nested_attributes
- with_locale :placeholder do
- form_for(@post, html: { id: 'create-post' }) do |f|
- f.fields_for(:tags) do |cf|
- concat cf.text_area(:value, placeholder: true)
- end
- end
-
- expected = whole_form("/posts/123", "create-post", "edit_post", method: "patch") do
- %{}
- end
-
- assert_dom_equal expected, output_buffer
- end
- end
-
def test_text_area
assert_dom_equal(
%{},