2016-11-29 2 views
1

paper_trail gem을 사용하여 내 페이지 모델 버전을 사용하고 있습니다.paper_trail을 사용하여 버전 ID에 대한 다음 및 이전 버전 가져 오기

version이라는 메서드가 있으며 page_idversion_id이 있습니다.

def version 
    page = Page.where(id: params[:page_id]).first 
    @version = page.versions.where(id: params[:version_id]).first 
    @previous_version = @version.previous_version rescue nil 
    @next_version = @version.next_version rescue nil 
end 

내가하고 싶은 것은 다음 버전과 이전 버전을 내보기로 전달하는 것입니다. 그러나 현재 버전에만 액세스 할 수 있습니다. @previous_version@next_version은 다음 버전과 이전 버전이 있더라도 항상 nil입니다. 어떤 방법이 previous_versionnext_version인지 알 수없는 것 같습니다.

+0

대신'@ version.next_version' 및'의 version.previous''@ version.next'와'@를 사용하지 않아야 @ version.previous_version'? – fanta

답변

1

버전의 객체는 nextprevious 방법이있는 버전 객체 반면 (귀하의 경우는 @page있어) next_versionprevious_version을 방법이 있습니다.

그래서 :

@page.previous_version 
#=> returns previous version of @page object 

반면
@page.versions.previous 
#=> returns a previous version object 
+0

아 그래. 문서가 오래된 것입니다. 감사! – Cameron

+0

@Cameron이 좀 더 자세한 내용을 가지고 답을 편집했습니다 :) –

+0

그 문제를 해결해 주셔서 감사합니다. – Cameron