2012-03-12 89 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

相关问题