2010-04-22 1 views
1

У меня есть модель данных, в которой я хотел бы иметь элемент, который имеет описание, которое можно редактировать. Я также хотел бы отслеживать все изменения в элементе. Я бегу в проблемы с моей текущей стратегии, а именно:Построение вики-подобной модели данных в рельсах вопрос

class Item < ActiveRecord::Base 
    has_one :current_edit, 
      :class_name => "Edit", 
      :foreign_key => "current_edit_id" 
    has_many :edits 
end 

class Edit < ActiveRecord::Base 
    belongs_to :item 
end 

Может Позиционный несколько ассоциаций к тому же классу, как это?

Я думал, что я должен переключиться на отслеживание версии редактирования в объекте Edit, а затем просто отсортировать базу отношений has_many на этой версии.

ответ

1

Да, это возможно. Но вы должны использовать belongs_to не has_one. Тогда ваши модели должны выглядеть следующим образом:

(Item, current_edit_id, ...) 
(Edit, item_id, ....) 

Рельсы документ объясняет это более подробно: Is it a belongs_to or has_one association?

+0

Это было все, что потребовалось, спасибо. – lillq

Смежные вопросы