Rails7.2からブラウザのバージョン保護機能がデフォルトで追加された

Rails7.2からrails newするとApplicationControllerに allow_browser versions: :modern が追加された。

versionsに設定されているハッシュまたは名前付きセットで指定されたバージョンのみが有効化される。 それ以外でアクセスすると406 Not Acceptableが表示される。

:modern で許可されているバージョンはこちら。 https://api.rubyonrails.org/v7.2/classes/ActionController/AllowBrowser/ClassMethods.html#method-i-allow_browser

  • Safari 17.2以上
  • Chrome 120以上
  • Firefox 121以上
  • Opera 106以上

もし406が表示されたら console.log(navigator.userAgent) などで現在のバージョンを取得し、この基準に達していないことが確認できる

参考