Я пытаюсь разработать вики с историей версий.
Мой план такой: каждый раз, когда я редактирую вики-контент, он должен сохраняться как новый.
на данный момент у меня есть две модели, Wiki и WikiContent, и следующий код внутри них:
class Wiki < ActiveRecord::Base
has_many :wiki_contents
has_one :current_wiki, :class_name => "WikiContent"
accepts_nested_attributes_for :current_wiki
has_one :new_content, :class_name => "WikiContent"
accepts_nested_attributes_for :new_content
end
class WikiContent < ActiveRecord::Base
belongs_to :wiki
end
В вики-модели есть поле current_id, чтобы узнать, какой контент является текущим.
в вики-контроллере я запускаю
def new
@wiki.build_current_wiki
end
def create
@wiki=Wiki.new(params[:wiki])
@wiki.save
@wiki.current_id=@wiki.current_wiki.id
end
Но всякий раз, когда я пытаюсь запустить:
def edit
@wiki.build_new_content
end
присваивает NULL значение current_wiki.wiki_id.
как я могу это исправить?
или есть другой способ заставить это работать?