はじめに
Rails 6 に追加された新機能を試す第100段。 今回は、 不正なURLパラメータのリクエスト編です。
Rails 6 では、 不正なパラメータのリクエストの場合でもエラーにならずに、Railsのエラー画面を表示するようになりました。
Ruby 2.6.5, Rails 6.0.0 で確認しました。
$ rails --version
Rails 6.0.0
今回は、Userの CRUD を作って確認します。
Rails プロジェクトを作る
$ rails new rails_sandbox
cd rails_sandbox
User の CRUD を作る
$ bin/rails g scaffold User name
データベースのマイグレーションを実行する
$ bin/rails db:create db:migrate
不正なパラメータのURLにアクセスする
ここで、 rails server を実行して、不正なパラメータつきの存在しないURLにブラウザからアクセスしてみます。
今回は、 http://localhost:3000/foo?x=1&x[y]=2 にアクセスしてみます
エラー画面が表示されます。
このときパラメータの情報は画面には表示されません。
試しに不正ではないパラメータを使い http://localhost:3000/foo?x=1 にアクセスしてみます。
このときは、パラメータの情報が画面に表示されます。
Rails 5 では
Rails 5.2.3 では、 http://localhost:3000/foo?x=1&x[y]=2 にアクセスしたときに Rails のエラー画面は表示されません。

試したソース
試したソースは以下にあります。
https://github.com/suketa/rails_sandbox/tree/try100_malformed_url

