diff --git a/actionpack/Rakefile b/actionpack/Rakefile index 86f7adaee3..684b828254 100644 --- a/actionpack/Rakefile +++ b/actionpack/Rakefile @@ -58,11 +58,12 @@ end desc 'Old Controller Tests on New Base' Rake::TestTask.new(:test_new_base_on_old_tests) do |t| t.libs << "test/new_base" << "test" - # content_type layout + # layout # Dir.glob( "test/{dispatch,template}/**/*_test.rb" ).sort + t.test_files = %w( - addresses_render base benchmark caching capture dispatcher flash mime_responds - record_identifier redirect render rescue url_rewriter webservice + addresses_render base benchmark caching capture content_type dispatcher + flash mime_responds record_identifier redirect render rescue url_rewriter + webservice ).map { |name| "test/controller/#{name}_test.rb" } end diff --git a/actionpack/lib/action_controller/new_base/renderer.rb b/actionpack/lib/action_controller/new_base/renderer.rb index 6176212970..81685ca9d6 100644 --- a/actionpack/lib/action_controller/new_base/renderer.rb +++ b/actionpack/lib/action_controller/new_base/renderer.rb @@ -38,7 +38,11 @@ module ActionController ret = super(options) options[:_template] ||= _action_view._partial - response.content_type ||= options[:_template].mime_type + response.content_type ||= begin + mime = options[:_template].mime_type + mime &&= mime.to_sym + formats.include?(mime) ? mime : formats.first + end ret end