aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionview/lib/action_view/renderer/abstract_renderer.rb13
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer.rb2
-rw-r--r--actionview/lib/action_view/renderer/template_renderer.rb7
-rw-r--r--actionview/lib/action_view/rendering.rb3
-rw-r--r--activerecord/test/cases/relations_test.rb2
5 files changed, 19 insertions, 8 deletions
diff --git a/actionview/lib/action_view/renderer/abstract_renderer.rb b/actionview/lib/action_view/renderer/abstract_renderer.rb
index 200dc3e10e..f1b4c9b92d 100644
--- a/actionview/lib/action_view/renderer/abstract_renderer.rb
+++ b/actionview/lib/action_view/renderer/abstract_renderer.rb
@@ -28,6 +28,10 @@ module ActionView
end
class RenderedCollection # :nodoc:
+ def self.empty(format)
+ EmptyCollection.new format
+ end
+
attr_reader :rendered_templates
def initialize(rendered_templates, spacer)
@@ -44,11 +48,14 @@ module ActionView
end
class EmptyCollection
- def format; nil; end
+ attr_reader :format
+
+ def initialize(format)
+ @format = format
+ end
+
def body; nil; end
end
-
- EMPTY = EmptyCollection.new
end
class RenderedTemplate # :nodoc:
diff --git a/actionview/lib/action_view/renderer/partial_renderer.rb b/actionview/lib/action_view/renderer/partial_renderer.rb
index 4ae6f635ae..ed8d5cf54e 100644
--- a/actionview/lib/action_view/renderer/partial_renderer.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer.rb
@@ -326,7 +326,7 @@ module ActionView
def render_collection(view, template)
identifier = (template && template.identifier) || @path
instrument(:collection, identifier: identifier, count: @collection.size) do |payload|
- return RenderedCollection::EMPTY if @collection.blank?
+ return RenderedCollection.empty(@lookup_context.formats.first) if @collection.blank?
spacer = if @options.key?(:spacer_template)
spacer_template = find_template(@options[:spacer_template], @locals.keys)
diff --git a/actionview/lib/action_view/renderer/template_renderer.rb b/actionview/lib/action_view/renderer/template_renderer.rb
index b6861d49fe..a129ef0e15 100644
--- a/actionview/lib/action_view/renderer/template_renderer.rb
+++ b/actionview/lib/action_view/renderer/template_renderer.rb
@@ -29,7 +29,12 @@ module ActionView
@lookup_context.with_fallbacks.find_file(options[:file], nil, false, keys, @details)
elsif options.key?(:inline)
handler = Template.handler_for_extension(options[:type] || "erb")
- Template.new(options[:inline], "inline template", handler, locals: keys)
+ format = if handler.respond_to?(:default_format)
+ handler.default_format
+ else
+ @lookup_context.formats.first
+ end
+ Template.new(options[:inline], "inline template", handler, locals: keys, format: format)
elsif options.key?(:template)
if options[:template].respond_to?(:render)
options[:template]
diff --git a/actionview/lib/action_view/rendering.rb b/actionview/lib/action_view/rendering.rb
index ac861c44d4..e5e2771323 100644
--- a/actionview/lib/action_view/rendering.rb
+++ b/actionview/lib/action_view/rendering.rb
@@ -118,8 +118,7 @@ module ActionView
renderer.render_to_object(context, options)
end
- rendered_format = rendered_template.format || lookup_context.formats.first
- @rendered_format = Template::Types[rendered_format]
+ @rendered_format = Template::Types[rendered_template.format]
rendered_template.body
end
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index b27815539b..dca7493aee 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -207,7 +207,7 @@ class RelationTest < ActiveRecord::TestCase
end
def test_select_with_subquery_in_from_uses_original_table_name
- if current_adapter?(:SQLite3Adapter) && (ENV["TRAVIS"] || ENV["BUILDKITE"])
+ if current_adapter?(:SQLite3Adapter) && ENV["CI"]
skip <<~MSG
https://travis-ci.org/rails/rails/jobs/496726410#L1198-L1208
https://buildkite.com/rails/rails/builds/58981#2423c707-7c56-4639-a76e-8db4fd1e5cf3/102-111