class_name: 'TaxRule', foreign_key: :tax_id, dependent: :destroy accepts_nested_attributes_for :tax_rules, allow_destroy: true TAX_RATE = 10 REDUCED_TAX_RATE = 8 INCLUSIVE_TAX_RATE = 0 # 税率ルールに更新があった場合にキャッシュをクリアする # このメソッドは、税率ルールの新規作成、更新、削除時に呼び出される def clear_tax_rules_cache RequestStore[:"tax_rules_#{id}"] = nil end end class TaxRule < ApplicationRecord acts_as_paranoid auto_increment_from 1_000 belongs_to :tax, class_name: 'Tax', foreign_key: :tax_id, optional: true after_commit :clear_cache # 税率ルールに更新があった場合、税率テンプレート側のキャッシュをクリアする def clear_cache return if tax.nil? tax.clear_tax_rules_cache end end ゾンビはこちら🧟 => 別スレッドのローカルに税率はキャッシュされるし、各リクエスト完了後キャッシュは専用のミドル ウェアの処理により自動で破棄されるため