Rails 7.1 Beta 1がリリース - Dockerfileや認証システムの改善、非同期クエリの拡充など

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20230914 103947

Railsプロジェクトは9月13日(現地時間)、Rails 7.1の最初のベータ版となる「Rails 7.1 Beta 1」をリリースしました(公式ブログ)。Rails 7.0以降、800人を超える貢献者によって5,000を超えるコミット行われたとのこと。開発チームはRails 7.1正式版へむけて新機能のテストへの協力を要請しています。

Rails 7.1では、新規にアプリケーションを生成する際に、Docker関連ファイルが作成されるようになりました。作成されたファイルは、Dockerを使用して本番環境にRailsアプリケーションをデプロイするための基本的なセットアップとして機能し、開発目的ではないとのことです。

docker build -t app .
docker volume create app-storage
docker run --rm -it -v app-storage:/rails/storage -p 3000:3000 --env RAILS_MASTER_KEY= app

また、開発者が独自の認証システムを構築するのに役立つ新機能が追加されています。属性の正規化を宣言するnormalizesや、ユーザ認証の際に一般的なタイミング攻撃から保護するauthenticate_by、パスワードリセットなどトークンを必要とする機能ためのgenerate_token_for、パスワード更新時に現在のパスワードを自動的に検証できるhas_secure_passwordが利用可能となっています。

Active Recordの非同期クエリが拡充され、遅いクエリを、リクエストの処理を進めながら並行して実行することが容易になりました。非同期集計(count、sumなど)、単一レコードを返すメソッド、Relation以外のメソッドが追加されています。

  • async_count
  • async_sum
  • async_minimum
  • async_maximum
  • async_average
  • async_pluck
  • async_pick
  • async_find_by_sql
  • async_count_by_sql

Trilogy MySQLアダプタの組み込みサポートや、複合主キーのサポート、大量のジョブを同時にエンキューするperform_all_laterの追加、config.autoload_libconfig.autoload_lib_onceの導入によるオートロードの強化、JavaScriptランタイムBunのサポートなど、さまざまな新機能が追加されています。

Ruby on Rails 7.1の新機能についてはリリースノートでも確認可能です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次