提交 a5ef8b9f 编写于 作者: J Jon Leighton

Merge branch 'master' into nested_has_many_through

......@@ -69,7 +69,7 @@ module ClassMethods
def register_javascript_expansion(expansions)
js_expansions = JavascriptIncludeTag.expansions
expansions.each do |key, values|
js_expansions[key] = (js_expansions[key] || []) | Array(values) if values
js_expansions[key] = (js_expansions[key] || []) | Array(values)
end
end
end
......
......@@ -46,7 +46,7 @@ module ClassMethods
def register_stylesheet_expansion(expansions)
style_expansions = StylesheetIncludeTag.expansions
expansions.each do |key, values|
style_expansions[key] = (style_expansions[key] || []) | Array(values) if values
style_expansions[key] = (style_expansions[key] || []) | Array(values)
end
end
end
......
......@@ -303,8 +303,17 @@ def test_registering_javascript_expansions_merges_with_existing_expansions
end
def test_custom_javascript_expansions_with_undefined_symbol
assert_raise(ArgumentError) { javascript_include_tag('first', :unknown, 'last') }
end
def test_custom_javascript_expansions_with_nil_value
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey => nil
assert_raise(ArgumentError) { javascript_include_tag('first', :monkey, 'last') }
assert_dom_equal %(<script src="/javascripts/first.js" type="text/javascript"></script>\n<script src="/javascripts/last.js" type="text/javascript"></script>), javascript_include_tag('first', :monkey, 'last')
end
def test_custom_javascript_expansions_with_empty_array_value
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey => []
assert_dom_equal %(<script src="/javascripts/first.js" type="text/javascript"></script>\n<script src="/javascripts/last.js" type="text/javascript"></script>), javascript_include_tag('first', :monkey, 'last')
end
def test_custom_javascript_and_stylesheet_expansion_with_same_name
......@@ -379,9 +388,18 @@ def test_single_stylesheet_asset_keys_should_take_precedence_over_expansions
assert_dom_equal %(<link href="/stylesheets/london.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/wellington.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/amsterdam.css" media="screen" rel="stylesheet" type="text/css" />), stylesheet_link_tag('london', :cities)
end
def test_custom_stylesheet_expansions_with_undefined_symbol
def test_custom_stylesheet_expansions_with_unknown_symbol
assert_raise(ArgumentError) { stylesheet_link_tag('first', :unknown, 'last') }
end
def test_custom_stylesheet_expansions_with_nil_value
ActionView::Helpers::AssetTagHelper::register_stylesheet_expansion :monkey => nil
assert_raise(ArgumentError) { stylesheet_link_tag('first', :monkey, 'last') }
assert_dom_equal %(<link href="/stylesheets/first.css" rel="stylesheet" type="text/css" media="screen" />\n<link href="/stylesheets/last.css" rel="stylesheet" type="text/css" media="screen" />), stylesheet_link_tag('first', :monkey, 'last')
end
def test_custom_stylesheet_expansions_with_empty_array_value
ActionView::Helpers::AssetTagHelper::register_stylesheet_expansion :monkey => []
assert_dom_equal %(<link href="/stylesheets/first.css" rel="stylesheet" type="text/css" media="screen" />\n<link href="/stylesheets/last.css" rel="stylesheet" type="text/css" media="screen" />), stylesheet_link_tag('first', :monkey, 'last')
end
def test_registering_stylesheet_expansions_merges_with_existing_expansions
......
......@@ -163,10 +163,6 @@
end
[Santiago Pastorino]
<<<<<<< Updated upstream
>>>>>>> association_fixes
=======
>>>>>>> Stashed changes
* Setting the id of a belongs_to object will update the reference to the
object. [#2989 state:resolved]
......
......@@ -33,8 +33,13 @@ def through_records_by_owner
through_options
).run
# TODO: Verify that this is actually necessary and not just a symptom of an
# underlying inefficiency
identity_map = {}
Hash[owners.map do |owner|
through_records = Array.wrap(owner.send(through_reflection.name))
through_records.map! { |record| identity_map[record] ||= record }
# Dont cache the association - we would only be caching a subset
if reflection.options[:source_type] && through_reflection.collection?
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册