주어진 타임 스탬프를 볼 때 위젯 (버전 아님)을 반환하는 API가 있습니다. 주어진 시간 전에 PaperTrail 버전에서 개체를 가져 오는 방법은 무엇입니까?
widget.paper_trail.version_at(timestamp)
하지만 내 경우에는
, 나는 그것이 주어진 타임 스탬프 전에 를 보았다로 위젯을 싶어. 그래서, 나는이 시나리오를 달성하기 위해version_before
api가있을 것이라고 기대할 것입니다. 그러나 나는 해결책을 찾지 못했습니다. 예를 들어 2016 년 12 월에는 체중이 50kg 인 남성 (A 씨)과 체중이 45kg 인 여성 (B 씨)이 있습니다. 한 달 후, 2017 년 1 월에 여성의 체중이 50kg (여성의 체중을 업데이트하여 종이 트레일에 업데이트 이벤트 버전이 기록되도록 함) 인 반면 남성의 체중은 50kg으로 유지됩니다.
시나리오, 나는 2017 년 1 월에 50kg의 몸무게를보고 싶습니다. 두 사람을 결과로 기대합니다.
다음은 지금까지 PaperTrail에서 시도한 내용입니다.
from_date = '2017-01-01'
to_date = '2017-01-31'
ids = []
PaperTrail::Version.where('DATE(created_at) BETWEEN ? AND ?', from_date, to_date).find_each do |version|
ids << version.item_id if v.changeset[:weight] && v.changeset[:weight][1] == 50
end
People.where(id: ids) #=> Ms. B
PaperTrail은/CRUD 만 변경되었으므로 Mr. A를 예상 한 결과로 얻을 수 없습니다.
아무도 내 시나리오로 생각해 본 경험이 있습니까? 모든 의견이나 답변이 도움이 될 것입니다.