这对我来说可能是一个非常基本的疏忽,但我似乎无法想起一个简单的方法来删除通过has_many :through
加入的两个对象之间的关联。 IE:
class Photo
has_many :tags, :through => :taggings
has_many :taggings, :dependent => :destroy
end
class Tags
has_many :photos, :through => :taggings
has_many :taggings, :dependent => :destroy
end
class Taggings
belongs_to :photo
belongs_to :tag
end
如果您有两个对象tag
和photo
,则可以通过以下方式关联它们:
photo.tags << tag
那么,是否有一个与此相反的简单对立面?即:
photo.tags.remove tag
答案 0 :(得分:64)
这就是你想要的:
photo.tags.delete(tag)