Repository navigation
Answer HTML from the show action by default - #39
Merged
Merged
Conversation
`show` declared its JSON format before its HTML one, so a request carrying no Accept header — curl, a bare fetch(), most HTTP libraries — arrived as */*, matched every registered type, and got JSON, while every other action in the engine answered HTML. The JSON branch also renders the record whole, including columns the model config hides from the show view. Clients sending an explicit Accept header or the .json extension are unaffected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
showdeclared its JSON format before its HTML one. A request carrying noAcceptheader — curl, a bare
fetch(), most HTTP client libraries — arrives as*/*, whichmatches every registered type, so Rails fell back to whichever was declared first.
Every other action in the engine already declares HTML first, so
showwas the loneoutlier.
The quieter consequence is that the JSON branch renders
@objectwhole, includingcolumns the model config hides from the show view.
Clients that send an explicit
Accept: application/json, or request the.jsonextension, are unaffected.
docs/UPGRADING.mdcarries the note with both forms.Closes #32