FileHandler should not be called for files outside the root

FileHandler#matches? should return false for files that are outside the
"root" path.
AR::UnknownAttributeError should include the class name of a record

This would be helpful if 2 models have an attribute that has a similar
name to the other. e.g:

before:

    User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"])
    # => ActiveRecord::UnknownAttributeError: unknown attribute: name

after:

    User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"])
    # => ActiveRecord::UnknownAttributeError: unknown attribute on User: name
Use include_blank value as option label

Update select_tag to reflect documentation and behave the same as form builder select. If the value of include_blank is not boolean true, use that value as the option label.
Enable emitting of warnings from ActiveJob tests.
- Removed unused variable warnings from ActiveJob Adapters
[ci skip] merge docs
[ci skip] Make merge method nodoc
Mention `perform_now` in AJ base docs to specify how to immediately invoke a job.    [ci skip]
Merge branch 'activerecord-merge-docs' of https://github.com/justanshulsharma/rails into justanshulsharma-activerecord-merge-docs
Merge branch 'justanshulsharma-activerecord-merge-docs'
AR::UnknownAttributeError should include the class name of a record

This would be helpful if 2 models have an attribute that has a similar
name to the other. e.g:

before:

    User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"])
    # => ActiveRecord::UnknownAttributeError: unknown attribute: name

after:

    User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"])
    # => ActiveRecord::UnknownAttributeError: unknown attribute on User: name
Merge pull request #17019 from yuki24/add-class-name-to-unknown-attr-error

Message on AR::UnknownAttributeError should include the class name of a record
Merge pull request #17324 from vipulnsward/activejob-warnings

Enable emitting of warnings from ActiveJob tests.
docs, It's "Active Job" not "Active job". [ci skip]
Merge pull request #17329 from vipulnsward/mention-perform-later-docs

Mention `perform_now` in AJ base docs to specify how to immediately invoke a job [ci skip]
No need to specify log level, run at log level as all other Rails components.
- Remove duplication in AJ logging test for setting logger.
- Remove un-needed require in AJ rescue test.
Fix Relation.rewhere to work with Range values
Remove duplicate 'select' database statement

The `select` method has the same definition in almost all database
adapters, so it can be moved from the database-specific adapters
(PostgreSQl, MySQL, SQLite) to the abstract `database_statement`:

```ruby
def select(sql, name = nil, binds = [])
  exec_query(sql, name, binds)
end
```

---

More details about this commit: the only two DB-specific adapters
that have a different definition of `select` are MySQLAdapter and
MySQL2Adapter.

In MySQLAdapter, `select` invokes `exec_query(sql, name, binds)`, so
calling `super` achieves the same goal with less repetition.

In MySQL2Adapter, `select` invokes `exec_query(sql, name)`, that is,
it does not pass the `binds` parameter like other methods do. However,
[MySQL2Adapter's `exec_query`](https://github.com/rails/rails/blob/74a527cc63ef56f3d0a42cf638299958dc7cb08c/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L228L231)
works exactly the same whether this parameters is passed or not, so the output
does not change:

```ruby
def exec_query(sql, name = 'SQL', binds = [])
  result = execute(sql, name)
  ActiveRecord::Result.new(result.fields, result.to_a)
end
```
- Fix mentioned shortcut, to what the shortcut actually is, and that it accepts blocks for `assert_no_enqueued_jobs` and `assert_no_performed_jobs` test helpers.
- args => arguments when used in actual docs.

[ci skip]