A warning line should look like a warning section

[ci skip]
[ci skip] Add Doc of with_options for the case when inherited default options and original options have same keys
ActionController::InvalidCrossOriginRequest fails with 422 instead of 500
Fixes #15967
delete leftover JoinOperation struct
Raise an error for has_one associations which try to go :through a polymorphic association [#17263]
Remove duplicate stringify_keys in text_field_tag

All the methods that invoke `text_field_tag` (such as `hidden_field_tag`)
and all the methods that invoke `number_field_tag` (that is `range_field_tag`)
do not need to call `stringify_keys` on their `options` parameter since the
`text_field_tag` method [is already doing it internally](https://github.com/claudiob/rails/blob/4159134524f4c78d008eef9d9a17f73a3172dcc8/actionview/lib/action_view/helpers/form_tag_helper.rb#L182):

```ruby
def text_field_tag(name, value = nil, options = {})
  tag :input, { "type" => "text", "name" => name, "id" => sanitize_to_id(name), "value" => value }.update(options.stringify_keys)
end
```

and `number_field_tag` is [already doing it internally](https://github.com/claudiob/rails/blob/e3207bdbba55f3806441f22b175557579bc0b051/actionview/lib/action_view/helpers/form_tag_helper.rb#L780) as well:

```ruby
def number_field_tag(name, value = nil, options = {})
  options = options.stringify_keys
  ...
end

[Note #1: My code uses `merge` to respect the existing behavior of
duplicating the `options` hash before updating its keys, see https://github.com/rails/rails/pull/17096#issuecomment-57223827]

[Note #2: My code uses symbols instead of strings (e.g.: `:hidden`) to look
forward to future version of Ruby/Raiks (GC symbols); the result of the method,
however, is the same, because the symbols are stringified inside `text_field_tag`]

[Note #3: I had previously created a similar PR #17096 but decided to
split it into multiple PRs given the feedback received in the comments]
Merge pull request #17271 from claudiob/remove-duplicate-stringify-keys

Remove duplicate stringify_keys in text_field_tag and number_field_tag
Merge pull request #17262 from swapdisc/delete-join-operation-struct

delete leftover JoinOperation struct
Fix how file_ and password_field_tag edit options

This commit fixes the behavior of `file_field_tag` and `password_field_tag`
when invoked with a hash of options.

These two helpers are different from all the other ones in that they modify the
options hash passed as a parameter, whereas all the other helpers duplicate it
before updating it.

The result is that *bad things* can happen if the user re-uses the same hash.
For instance, users who write the following code to display a file field
followed by a text field (both with the same class):

```rhtml
<% options = {class: 'important'} %>
<%= file_field_tag 'Upload', options %>
<%= text_field_tag 'Name', options %>
```

would instead see **two file fields!**

```html
<input class="important" id="Upload" name="Upload" type="file">
<input class="important" id="Name" name="Name" type="file" value="value">
```

This PR replaces `update` with `merge` in the code of the two helpers,
fixing the issue above.

The included test verifies the change, since it passes after this PR, but
fails before with the following error:

```
Expected: <input type="text" name="title" id="title" value="Hello!" class="important" />
Actual: <input type="password" name="title" id="title" value="Hello!" class="important" />
```
Merge pull request #17273 from claudiob/fix-file-and-password-field-tag

Fix how file_ and password_field_tag edit options
Merge pull request #17255 from printercu/cors_exception_wrapper

ActionController::InvalidCrossOriginRequest fails with 422 instead of 500
Merge pull request #17267 from rebyn/master

Raise an error for has_one associations which try to go :through a polymorphic association
Use if/else instead of early raise
Fix typo in actionpack/lib/action_dispatch/routing/mapper.rb
Merge pull request #17277 from yuutetu/fix_type_in_routing_mapper

Fix typo in actionpack/lib/action_dispatch/routing/mapper.rb [ci-skip]
add table.bigint support

In the DSL you can now do:

create_table(:foos) do |t|
  t.bigint :hi
end
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
just look up the primary key from the columns hash
we don't need a HWIA and a hash allocated for just one k/v pair
clarify debugger platform invocation