This may be a very basic oversight on my part, but I can't seem to recall a simple method for removing an association between two objects joined via 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
If you have two objects, tag
and photo
, you can associate them just by doing this:
photo.tags << tag
So, is there an equally simple opposite to this? ie:
photo.tags.remove tag
here's what you want:
photo.tags.delete(tag)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With