AR Migrations Guide#Foreign Keys: fix wrong table

[skip ci]
Merge pull request #17381 from jonatack/patch-8

AR Migrations Guide#Foreign Keys: fix wrong table
Improved try documentation [ci skip]

- better `if` example
- Added chaining example to the try method description
- Documented the `respond_to?` check to the try method description
- Clearer wording to explain that argument error is raised on argument mismatch to responding method, rather than to non-responding method (which is handled without exception by `try`)
- `.any?` is more precise than `! .blank?`
 - Don't need to use `try` on `children` as (for regular associations) they will always be a collection or array that responds to `first`
- Fix typos/grammar
Include return value in examples added in #17378 [ci skip]
Revert a change made to the example in 1ac4525

@carlosantoniodasilva pointed out that when `@person` is nil then this would blow up when you ended up calling `#first`on `nil`.

> "there’s no way to break a try chain when you enter it :D"

[ci skip]
Fix typo in "Active Record Basics" guide. [ci skip]
Merge pull request #17385 from nakadai/patch-1

Fix typo in "Active Record Basics" guide. [ci skip]
Avoid creating unneeded Hash instance and calling slow Hash#fetch
The code was not up-to-date
Avoid creating range objects (take II)
Reduce object allocation
Reduce object allocation
instance_eval is evil