mirror of https://github.com/rails/rails
Render default template if block doesn't render
When a `respond_to` collector doesn't have a response, then a `:no_content` response should be rendered. This brings the default rendering behavior introduced by https://github.com/rails/rails/issues/19036 to controller methods employing `respond_to`
This commit is contained in:
parent
46cb45df48
commit
48f140cf74
|
@ -1,3 +1,10 @@
|
|||
* When a `respond_to` collector with a block doesn't have a response, then
|
||||
a `:no_content` response should be rendered. This brings the default
|
||||
rendering behavior introduced by https://github.com/rails/rails/issues/19036
|
||||
to controller methods employing `respond_to`
|
||||
|
||||
*Justin Coyne*
|
||||
|
||||
* Update default rendering policies when the controller action did
|
||||
not explicitly indicate a response.
|
||||
|
||||
|
|
|
@ -198,7 +198,7 @@ module ActionController #:nodoc:
|
|||
_process_format(format)
|
||||
_set_rendered_content_type format
|
||||
response = collector.response
|
||||
response ? response.call : render({})
|
||||
response.call if response
|
||||
else
|
||||
raise ActionController::UnknownFormat
|
||||
end
|
||||
|
|
|
@ -74,6 +74,14 @@ class RespondToController < ActionController::Base
|
|||
end
|
||||
end
|
||||
|
||||
def missing_templates
|
||||
respond_to do |type|
|
||||
# This test requires a block that is empty
|
||||
type.json { }
|
||||
type.xml
|
||||
end
|
||||
end
|
||||
|
||||
def using_defaults_with_type_list
|
||||
respond_to(:html, :xml)
|
||||
end
|
||||
|
@ -624,6 +632,13 @@ class RespondToControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_missing_templates
|
||||
get :missing_templates, format: :json
|
||||
assert_response :no_content
|
||||
get :missing_templates, format: :xml
|
||||
assert_response :no_content
|
||||
end
|
||||
|
||||
def test_invalid_variant
|
||||
assert_raises(ActionController::UnknownFormat) do
|
||||
get :variant_with_implicit_template_rendering, params: { v: :invalid }
|
||||
|
|
Loading…
Reference in New Issue