1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails6 のちょい足しな新機能を試す100(不正なURLパラメータのリクエスト編)

1
Posted at

はじめに

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 にアクセスしてみます

エラー画面が表示されます。

error1.png

このときパラメータの情報は画面には表示されません。

試しに不正ではないパラメータを使い http://localhost:3000/foo?x=1 にアクセスしてみます。

このときは、パラメータの情報が画面に表示されます。

error2.png

Rails 5 では

Rails 5.2.3 では、 http://localhost:3000/foo?x=1&x[y]=2 にアクセスしたときに Rails のエラー画面は表示されません。
error3.png

試したソース

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

参考情報

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?