私は ActiveSupport::TimeZone を使用して、郵便番号に基づいて場所のタイム ゾーンを設定しています。
def set_time_zone
self.time_zone = ActiveSupport::TimeZone.find_by_zipcode(self.zip)
end
これは、アプリケーション自体でうまく機能します。before_save で set_time_zone を呼び出しています。
Rspec でテストを実行する際に、set_time_zone メソッドを実行しようとすると、「undefined method 'find_by_zipcode'in ActiveSupport::TimeZone」というエラーが発生します。
スペック ヘルパーにも「require 'active_support/time_with_zone'」を含めました。
今のところ、私の回避策は、テスト環境の場合は保存前を除外することです。
どんなアイデアでも素晴らしいでしょう。