diff options
author | James Coleman <jtc331@gmail.com> | 2012-03-27 16:17:53 -0400 |
---|---|---|
committer | James Coleman <jtc331@gmail.com> | 2012-03-27 17:04:08 -0400 |
commit | 1438e0eb062ef92ec3544be6896e2853dd0df07b (patch) | |
tree | 0e655e8e61e5d9339eb11f68098a4dc19edc98da /actionpack/lib/action_view/helpers/tag_helper.rb | |
parent | e96d04a2e4e244ea5053cb4e8ab97db604d0c796 (diff) | |
download | rails-1438e0eb062ef92ec3544be6896e2853dd0df07b.tar.gz rails-1438e0eb062ef92ec3544be6896e2853dd0df07b.tar.bz2 rails-1438e0eb062ef92ec3544be6896e2853dd0df07b.zip |
Don't break Haml with textarea newline fix.
See issue #393, issue #4000, issue #5190, and issue #5191. Adds a newline after the textarea opening tag based on @codykrieger's original patch so that we don't cause regressions in Haml-using apps. The regression caused textarea tags to add newlines to the field unintentionally (each update/save added an extra newline.)
Also fix 6 more tests that didn't yet have the newline expectation.
Diffstat (limited to 'actionpack/lib/action_view/helpers/tag_helper.rb')
-rw-r--r-- | actionpack/lib/action_view/helpers/tag_helper.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/tag_helper.rb b/actionpack/lib/action_view/helpers/tag_helper.rb index ecd26891d6..71be2955a8 100644 --- a/actionpack/lib/action_view/helpers/tag_helper.rb +++ b/actionpack/lib/action_view/helpers/tag_helper.rb @@ -17,6 +17,10 @@ module ActionView autofocus novalidate formnovalidate open pubdate).to_set BOOLEAN_ATTRIBUTES.merge(BOOLEAN_ATTRIBUTES.map {|attribute| attribute.to_sym }) + PRE_CONTENT_STRINGS = { + :textarea => "\n" + } + # Returns an empty HTML tag of type +name+ which by default is XHTML # compliant. Set +open+ to true to create an open tag compatible # with HTML 4.0 and below. Add HTML attributes by passing an attributes @@ -126,7 +130,7 @@ module ActionView def content_tag_string(name, content, options, escape = true) tag_options = tag_options(options, escape) if options content = ERB::Util.h(content) if escape - "<#{name}#{tag_options}>#{content}</#{name}>".html_safe + "<#{name}#{tag_options}>#{PRE_CONTENT_STRINGS[name.to_sym]}#{content}</#{name}>".html_safe end def tag_options(options, escape = true) |