我有Photo
和Photoset
型号:
Photoset
应该有多个photos
和一个primary_photo
。
Photo
应属于许多Photosets
,可以是许多照片的primary_photo
。
但是我对如何设置primary_photo
关系感到难过。我设想在primary_photo_id
中添加photosets
,但我无法弄清楚如何定义has_one
以便在所属方面定义列(Photoset)。
我尝试通过以下方式实现此目的:
photo_photosets
联接表。primary_photo_id
列添加到photosets
。我在模特中建立了关系:
class Photo < ActiveRecord::Base
has_and_belongs_to_many :photosets
validates_uniqueness_of :flickr_uid
end
class Photoset < ActiveRecord::Base
belongs_to :user
validates_uniqueness_of :flickr_uid
has_and_belongs_to_many :photos
has_one :primary_photo, class_name: 'Photo' # !???
end
答案 0 :(得分:3)
class Photo < ActiveRecord::Base
has_and_belongs_to_many :photosets
validates_uniqueness_of :flickr_uid
end
class Photoset < ActiveRecord::Base
belongs_to :user
validates_uniqueness_of :flickr_uid
has_and_belongs_to_many :photos
belongs_to :primary_photo, class_name: 'Photo'
end