mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Create templates with format=nil
This commit is contained in:
parent
ff4b2cf241
commit
c214546217
6 changed files with 11 additions and 9 deletions
|
@ -973,10 +973,11 @@ module ActionMailer
|
|||
templates_name = headers[:template_name] || action_name
|
||||
|
||||
each_template(Array(templates_path), templates_name).map do |template|
|
||||
self.formats = [template.format]
|
||||
format = template.format || self.formats.first
|
||||
self.formats = [format]
|
||||
{
|
||||
body: render(template: template),
|
||||
content_type: template.type.to_s
|
||||
content_type: Mime[format].to_s
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -118,7 +118,8 @@ module ActionView
|
|||
renderer.render_to_object(context, options)
|
||||
end
|
||||
|
||||
@rendered_format = Template::Types[rendered_template.format]
|
||||
rendered_format = rendered_template.format || lookup_context.formats.first
|
||||
@rendered_format = Template::Types[rendered_format]
|
||||
|
||||
rendered_template.body
|
||||
end
|
||||
|
|
|
@ -294,12 +294,12 @@ module ActionView
|
|||
if handler.respond_to?(:default_format) # default_format can return nil
|
||||
handler.default_format
|
||||
else
|
||||
query_format
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
# Template::Types[format] and handler.default_format can return nil
|
||||
[handler, format || query_format, variant]
|
||||
[handler, format, variant]
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -121,11 +121,11 @@ class LookupContextTest < ActiveSupport::TestCase
|
|||
assert_equal "Hello texty phone!", template.source
|
||||
end
|
||||
|
||||
test "found templates respects given formats if one cannot be found from template or handler" do
|
||||
test "found templates have nil format if one cannot be found from template or handler" do
|
||||
assert_called(ActionView::Template::Handlers::Builder, :default_format, returns: nil) do
|
||||
@lookup_context.formats = [:text]
|
||||
template = @lookup_context.find("hello", %w(test))
|
||||
assert_equal :text, template.format
|
||||
assert_nil template.format
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ class ResolverPatternsTest < ActiveSupport::TestCase
|
|||
assert_equal 1, templates.size, "expected one template"
|
||||
assert_equal "Hello custom patterns!", templates.first.source
|
||||
assert_equal "custom_pattern/path", templates.first.virtual_path
|
||||
assert_equal :html, templates.first.format
|
||||
assert_nil templates.first.format
|
||||
end
|
||||
|
||||
def test_should_return_all_templates_when_ambiguous_pattern
|
||||
|
|
|
@ -15,6 +15,6 @@ class FixtureResolverTest < ActiveSupport::TestCase
|
|||
assert_equal 1, templates.size, "expected one template"
|
||||
assert_equal "this text", templates.first.source
|
||||
assert_equal "arbitrary/path", templates.first.virtual_path
|
||||
assert_equal :html, templates.first.format
|
||||
assert_nil templates.first.format
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue