38
Dies mag eine sehr grundlegende Kontrolle meinerseits sein, aber ich kann mich nicht an eine einfache Methode erinnern, um eine Verbindung zwischen zwei über has_many :through
verbundenen Objekten zu entfernen. IE:Aktiver Datensatz has_many: Durch Entfernen eines verknüpften Datensatzes
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
Wenn Sie zwei Objekte haben, tag
und photo
, Sie können sie assoziieren nur dies tun:
photo.tags << tag
So ist es ein ebenso einfaches Gegenteil dazu? dh:
photo.tags.remove tag
Beachten Sie, dass dies nicht auslösen 'before_destroy' oder' after_destroy' Rückrufe auf das Modell verbinden - verwenden 'destroy' anstelle von' delete' wenn Du brauchst das. – PinnyM