2013-03-20 3 views
0

내 레일 앱에 vestal_versions gem을 사용하고 싶습니다.하지만 새 버전을 만들 수있는 방법이 있는지 아는 사람이 있는지 궁금합니다. 연관된 ActiveRecord.Rails vestal_versions gem 부모를 저장하지 않고 버전을 생성하십시오.

예를 들어 이름이 "jim"인 사용자가 있고 이름이 "steve"인 새 버전을 만들면 원하는 때까지 부모 레코드를 변경하지 않고도 버전을 유지할 수 있기를 원합니다. 나중에 (revert_to! (newer_version) 또는 일부 사용).

보석에 내장되어 있지 않은 경우 패치를 시작해야하는 위치에 대한 단서가 있습니까?

답변

0

이 보석의 동작을 조사한 결과, 이것이 vestal_versions이 실제로 설정 한 것이 아니라는 사실을 발견했습니다.

당신이 좋아하는 뭔가이 동작을 강제 할 수

:는 '버전'모델

def create_version 
    merge_version_changes 
    create_version 
end 

,하지만 당신이 부모를 수정하지 않고 라이브 액티브에 투입 한 변경 새 버전을 만드는 동안 당신이 사용하는 객체의 테이블 :

blah = Blah.first 
blah.version 

은 당신이 최신 버전을 사용하고 있는지를 알려하지만로드되지 않습니다 데이터 (그것은 변경되지 않습니다 이후). 다음을 사용하는 경우 :

blah.revert_to(:last) 

이미 최신 버전을 사용하고 있기 때문에 기록을 변경하지 않습니다. 기타 ...

짧게 말하면 vestal_versions에는 이러한 유형의 동작이 없으므로 그렇게하지 않아야합니다. 나는 그것이하는 것을 찾고있는 것에 더 가까워 보이는 것처럼 지금 has_drafts 보석을 조사하고있다.