earliest_employee = Employee.ignore_valid_datetime.where(bitemporal_id: id).order(:valid_from).first Timecop.freeze(earliest_employee.valid_from) do employee = Employee.find(id: id) end end employee.update!(name: "Tom") end 9/1として処理される 9/15として処理される 9/1として処理されるが、インスタンスは 9/15の時点のデータを保持する