使用paper_trail获取版本ID的下一版和早期版

时间:2016-11-29 15:00:07

标签: ruby-on-rails paper-trail-gem

我使用paper_trail gem来修改我的网页模型。

我有一个名为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是什么。

1 个答案:

答案 0 :(得分:1)

版本对象具有nextprevious方法,而版本化对象(在您的情况下为@page)具有方法next_versionprevious_version

所以:

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

,而

@page.versions.previous
#=> returns a previous version object