mirror of
https://github.com/github/rails.git
synced 2026-02-01 01:34:57 -05:00
Added an html_options hash parameter to javascript_tag() and update_page_tag() helpers #6311 [tzaharia]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5245 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,15 @@
|
||||
*SVN*
|
||||
|
||||
* Added an html_options hash parameter to javascript_tag() and update_page_tag() helpers #6311 [tzaharia]. Example:
|
||||
|
||||
update_page_tag :defer => 'true' { |page| ... }
|
||||
|
||||
Gives:
|
||||
|
||||
<script defer="true" type="text/javascript">...</script>
|
||||
|
||||
Which is needed for dealing with the IE6 DOM when it's not yet fully loaded.
|
||||
|
||||
* Fixed that rescue template path shouldn't be hardcoded, then it's easier to hook in your own #6295 [mnaberez]
|
||||
|
||||
* Fixed escaping of backslashes in JavaScriptHelper#escape_javascript #6302 [sven@c3d2.de]
|
||||
|
||||
@@ -162,8 +162,11 @@ module ActionView
|
||||
# alert('All is good')
|
||||
# //]]>
|
||||
# </script>
|
||||
def javascript_tag(content)
|
||||
content_tag("script", javascript_cdata_section(content), :type => "text/javascript")
|
||||
#
|
||||
# +html_options+ may be a hash of attributes for the <script> tag. Example:
|
||||
# javascript_tag "alert('All is good')", :defer => 'true' # => <script defer="true" type="text/javascript">alert('All is good')</script>
|
||||
def javascript_tag(content, html_options = {})
|
||||
content_tag("script", javascript_cdata_section(content), html_options.merge(:type => "text/javascript"))
|
||||
end
|
||||
|
||||
def javascript_cdata_section(content) #:nodoc:
|
||||
|
||||
@@ -684,8 +684,11 @@ module ActionView
|
||||
# Works like update_page but wraps the generated JavaScript in a <script>
|
||||
# tag. Use this to include generated JavaScript in an ERb template.
|
||||
# See JavaScriptGenerator for more information.
|
||||
def update_page_tag(&block)
|
||||
javascript_tag update_page(&block)
|
||||
#
|
||||
# +html_options+ may be a hash of <script> attributes to be passed
|
||||
# to ActionView::Helpers::JavaScriptHelper#javascript_tag.
|
||||
def update_page_tag(html_options = {}, &block)
|
||||
javascript_tag update_page(&block), html_options
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
@@ -171,6 +171,12 @@ class PrototypeHelperTest < Test::Unit::TestCase
|
||||
block = Proc.new { |page| page.replace_html('foo', 'bar') }
|
||||
assert_equal javascript_tag(create_generator(&block).to_s), update_page_tag(&block)
|
||||
end
|
||||
|
||||
def test_update_page_tag_with_html_options
|
||||
block = Proc.new { |page| page.replace_html('foo', 'bar') }
|
||||
assert_equal javascript_tag(create_generator(&block).to_s, {:defer => 'true'}), update_page_tag({:defer => 'true'}, &block)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class JavaScriptGeneratorTest < Test::Unit::TestCase
|
||||
|
||||
Reference in New Issue
Block a user