Подтвердить что ты не робот

Активная запись has_many: путем удаления одной связанной записи

Это может быть очень простой надзор с моей стороны, но я не могу вспомнить простой метод для удаления связи между двумя объектами, связанными через 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
4b9b3361

Ответ 1

вот что вам нужно:

photo.tags.delete(tag)