class Page < ActiveRecord::Base belongs_to :book has_many :versions, :order => "created_at", :dependent => :destroy has_one :current_version, :class_name => "Version", :order => "created_at DESC" def find_or_build_version(number = nil) number ? versions[number.to_i - 1] : versions.build(:body => body) end def body current_version ? current_version.body : nil end def to_param title end end