Я строю вики-систему для приложения. Суть дизайна заключается в том, что существует модель Article, а в каждой Article есть множество редакций. Когда приходит время показать статью, для получения всей необходимой информации запрашивается самая последняя редакция.
Кажется, это идеальный случай, чтобы использовать acceptpts_nested_attributes_for, чтобы редактирование статьи принимало изменения от имени редакций. Однако я не могу найти способ сохранить все старые ревизии, и нужно вносить изменения, создавая новую ревизию при каждом редактировании. Есть ли способ заставить эту работу?
Для тех, кто предпочитает менее абстрактные вещи:
class Article
has_many :revisions
has_one :current_revision, :class_name => "Revision", :order => "created_at DESC"
#contains columns that are not tracked for revisions, such as the article's Url slug
end
class Revision
belongs_to :article
#contains basic columns like wiki article body
end