Merge pull request #12121 from strzalek/move-methods-to-abs-controller

Move glue methods & BasicRendering to AbstractController
Revert "Merge pull request #12085 from valk/master"

This reverts commit 15455d76c8d33b3767a61e0cdd2de0ff592098ef, reversing
changes made to ffa56f73d5ae98fe0b8b6dd2ca6f0dffac9d9217.
Fix a few typos. [ci skip]
Merge pull request #12126 from namusyaka/fix-some-typos

Fix a few typos.
Merge pull request #12065 from SamSaffron/result_optimisation

Perf: micro optimised Result column hash_row creation
support anonymous classes on has_many associations
adding a hm:t test for singleton ar objects
Pull the RelationMutationTests from cases/relation_test to cases/relation/mutation_test.
Deprecate the delegation of Array bang methods in ActiveRecord::Delegation

The primary means of returning results for Array bang methods is to modify
the array in-place. When you call these methods on a relation, that
array is created, modified, and then thrown away. Only the secondary
return value is exposed to the caller.

Removing this delegation is a straight-forward way to reduce user error
by forcing callers to first explicitly call #to_a in order to expose
the array to be acted on by the bang method.
Extracted from `order` processing of arguments, and use it for `reorder` to be consistent.
Merge pull request #11958 from jetthoughts/extract_pre_process_orders_args

Re-use order arguments pre-processing for reorder
Example of Join models

In the example of join models, there are five models but in the explanation only consider Category, Post, Comment and Guest.
Document a difference between pluck and select [ci skip]

Explain that `pluck` differs from `select` in that it does not construct `ActiveRecord` objects and thus model-level overrides are unavailable.
Merge pull request #12077 from estsauver/doc_fix

Update mapper documenation for match helper [ci skip]
Merge pull request #12094 from brocktimus/master

Substitute dynamic finders in 4.0 release notes [ci skip]
render_to_string shouldn't play with response_body
Client.exists?(1,2,3) and Client.exists?([1,2,3]) does not work

The right command for doing that is Client.exists?id:[1,2,3]
Exists does not work like find method, in find method you can do Person.find(1, 2, 6) or Person.find([7, 17]) but not Person.exists?(1,2,3) or Person.exists?([1,2,3])
Review the changes made on 90155b4e28a3887dce9428e9df150ede3d6c7465
Add a test case for exists? with multiple values
Fix method name typos