2013-10-26 31 views
0

我正在處理的應用程序需要「拍照前」和「拍照後」。現在它在數據庫中有兩個獨立的表。我想合併這2所以它會是這個樣子:多形性協會會值得嗎?

create_table :photos do |t| 
    t.string :image 
    t.string :photographable_type 
end 

也許有這樣的事情在我的模型

has_many :before_photos, class_name: 'Photo', as: :photographable 
has_many :after_photos, class_name: 'Photo', as: :photographable 

我以前從來沒有使用多態關聯並且有點困惑。有人能給我一個跑下來,這是什麼正確的做法,並解釋一下?

在此先感謝

+0

有一個很棒的railscast在這裏:http://railscasts.com/episodes/154-polymorphic-association。你能解釋照片前後的情況嗎?他們是模特嗎?提及之前/之後是什麼?如果這只是同一圖像的兩個版本,一個之前,另一個之後,我甚至不會使用兩個模型。我會使用兩個圖像列/上傳。如果'photographable_types'列表可能會增長或者兩個模型之間有很大的重複,則多態是有意義的。 –

回答