2010-04-22 78 views
1

我有一個數據模型,我希望在其中有一個可以編輯描述的項目。我也想跟蹤該項目的所有編輯。我遇到的問題與我目前的戰略,這是:在rails中構建類似數據模型的維基問題

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 2010-04-22 17:41:54