2012-03-12 82 views
1

Rails非常新...我正在構建讓人們比較照片的功能,而且我無法確定如何構造它。理想情況下,我想要有一個「比較」表,它保存了比較照片的ID以及比較它們的用戶的記錄,但我不太確定這是否需要使用「belongs_to」功能與否。如果是這樣,我如何指定每個比較屬於兩張單獨的照片?使用Rails,不知道我是否應該使用belongs_to

回答

1

下面的has_many, :through => Model結構會讓你在連接表上增加一些屬性,例如: 'comparing_user_id'。

class Photo < ActiveRecord::Base 
    has_many :appearances 
    has_many :users, :through => :appearances 
end 

class Appearance < ActiveRecord::Base 
    belongs_to :photo 
    belongs_to :user 
end 

class User < ActiveRecord::Base 
    has_many :appearances 
    has_many :photos, :through => :appearances 
end 
+0

看起來像外觀是比比較更適當和描述性的名稱。命名非常重要。 – 2012-03-12 01:38:41

+0

我想你沒有得到這個問題。它被命名爲比較,因爲它是一個包含* 2 *照片和用戶的模型。 – 2012-03-12 02:02:01

+0

@JakubHampl這是正確的,但我認爲使用:through參數可能仍然是完成這項工作的關鍵。我會玩弄它,看看我得到了什麼.... – 2012-03-12 02:04:49

相關問題