Cela peut être une surveillance très fondamentale de ma part, mais je ne peux pas sembler rappeler une méthode simple pour éliminer une association entre deux objets joints via has_many :through
. C'EST À DIRE:
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
Si vous avez deux objets, tag
et photo
, vous pouvez les associer simplement en faisant cela:
photo.tags << tag
Alors, y a-t-il un juste simple d'opposé à cela? c'est à dire:
photo.tags.remove tag
voici ce que vous voulez:
photo.tags.delete(tag)