diff options
Diffstat (limited to 'actionpack')
| -rw-r--r-- | actionpack/lib/action_view/lookup_context.rb | 11 | ||||
| -rw-r--r-- | actionpack/test/template/lookup_context_test.rb | 2 | 
2 files changed, 5 insertions, 8 deletions
diff --git a/actionpack/lib/action_view/lookup_context.rb b/actionpack/lib/action_view/lookup_context.rb index 02114f46da..f0ed3425de 100644 --- a/actionpack/lib/action_view/lookup_context.rb +++ b/actionpack/lib/action_view/lookup_context.rb @@ -167,15 +167,12 @@ module ActionView          @frozen_formats = true        end -      # Overload formats= to reject ["*/*"] values. +      # Overload formats= to expand ["*/*"] values and automatically +      # add :html as fallback to :js.        def formats=(values)          if values -          values.pop if values.last == "*/*" -          if values.size == 0 -            values = nil -          elsif values == [:js] -            values << :html -          end +          values.concat(_formats_defaults) if values.delete "*/*" +          values << :html if values == [:js]          end          super(values)        end diff --git a/actionpack/test/template/lookup_context_test.rb b/actionpack/test/template/lookup_context_test.rb index e7680bc022..f34a40795a 100644 --- a/actionpack/test/template/lookup_context_test.rb +++ b/actionpack/test/template/lookup_context_test.rb @@ -53,7 +53,7 @@ class LookupContextTest < ActiveSupport::TestCase    test "handles explicitly defined */* formats fallback to :js" do      @lookup_context.formats = [:js, Mime::ALL] -    assert_equal [:js, :html], @lookup_context.formats +    assert_equal [:js, *Mime::SET.symbols], @lookup_context.formats    end    test "adds :html fallback to :js formats" do  | 
