Ruby on Rails: есть ли способ использовать вложенные атрибуты для вики-системы? - PullRequest
0 голосов
/ 23 июня 2010

Я строю вики-систему для приложения. Суть дизайна заключается в том, что существует модель 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

1 Ответ

2 голосов
/ 23 июня 2010

Вам не нужна вся эта работа, посмотрите на Vestal Versions gem.Он приносит все необходимое для версионных моделей.Для этого также существует railscast .

Но если вы все еще хотите работать с вложенными формами, есть два хороших Railscast:

  1. Вложенная модельЧасть формы 1
  2. Вложенная модель Часть формы 2
...