Tech Racho エンジニアの「?」を「!」に。
  • Ruby / Rails関連

Rails 7.0.8がリリースされました

Ruby on Rails 7.0.8がリリースされました。webdrivers gem依存の除去以外はバグ修正です。

英語版Changelogをまとめて見るにはGItHubのリリースタグ↓が便利です

詳しくは以下のコミットリストをご覧ください。

🔗 更新の概要

アップグレード方法については以下の手順をどうぞ。

参考: § 1.3 アップグレード手順 -- Rails アップグレードガイド - Railsガイド

本記事では、GitHubリリースタグに掲載されているChangelogに対応するプルリクやコミットへのリンクを取り急ぎ貼りました。

🔗 Active Support

ENVやコンフィグでTimeWithZoneを無効にしたときに非推奨の#to_sが使われていたのを修正。
Hartley McGuire
リリースノートChangelogより


分散Redisキャッシュでコネクションプールを使ったときにCacheStore#write_multiがエラーになる問題を修正。
修正: #48938
Jonathan del Strother
リリースノートChangelogより

🔗 Active Record

Rails 7.0以降のマイグレーションとSQLiteでdatetimeを使うとchange_columnprecision: 6が設定されない問題を修正。
Hartley McGuire
リリースノートChangelogより


特定のケースでunscopeが動作しない問題を修正。

修正前:

Post.where(id: 1...3).unscope(where: :id).to_sql # "SELECT `posts`.* FROM `posts` WHERE `posts`.`id` >= 1 AND `posts`.`id` < 3"

修正後:

Post.where(id: 1...3).unscope(where: :id).to_sql # "SELECT `posts`.* FROM `posts`"

修正: #48094

Kazuya Hatanaka

リリースノートChangelogより


class_nameオプションを含むSTIモデルへの関連付けを修正。

class Product < ApplicationRecord
  has_many :requests, as: :requestable, class_name: "ProductRequest", dependent: :destroy
end

# STIテーブル
class Request < ApplicationRecord
  belongs_to :requestable, polymorphic: true

  validate :request_type, presence: true
end

class ProductRequest < Request
  belongs_to :user
end

このような関連付けにアクセスすると以下のエラーが生じる可能性があった。

table_metadata.rb:22:in `has_column?': undefined method `key?' for nil:NilClass (NoMethodError)

Romain Filinto

リリースノートChangelogより


Rails 6.1のマイグレーションでdatetimeを使うとchange_columnprecision: 6が設定されない問題を修正。

Hartley McGuire

リリースノートChangelogより

🔗 Action View

名前空間付きルーティングでモデルの_method(hidden input)がform_forで出力されなくなる問題を修正。

Hartley McGuire

リリースノートChangelogより


jbuilderテンプレートでのrender collection: @records, cache: trueを修正。

7.0.7でリリースされた前回の修正では、テンプレートのフラグメントが常に文字列であることを前提としていたが、jbuilderはそうではない。

Jean Boussier

リリースノートChangelogより

🔗 Action Pack

参考: 週刊Railsウォッチ20230906: X_FORWARDED_HOSTの値がヘッダーに表示される可能性があるバグを修正

HTTP_HOSTの値によってHostがブロックされている場合にX_FORWARDED_HOSTの値がX-Forwarded-Forヘッダーで表示される可能性がある問題を修正。

Hartley McGuire, Daniel Schlosser
リリースノートChangelogより

🔗 Active Job

アダプタでActiveJob::EnqueueErrorが発生したときに、エンキューに失敗したジョブがActive Jobログメッセージに正しく出力されるよう修正。

Ben Sheldon

リリースノートChangelogより

🔗 Railties

webdrivers gemへの依存をGemfileテンプレートから除去した。

Sean Doyle

リリースノートChangelogより

🔗 Changelogに更新の記載がない機能

以下はChangelogには更新の記載がありません。


TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ)

関連記事

Rails 7.0.7がリリースされました

Rails 7.0.6がリリースされました


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。