これは私の側では非常に基本的な見落としかもしれませんが、has_many :through
を介して結合された2つのオブジェクト間の関連付けを削除する簡単な方法を思い出せないようです。 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
の2つのオブジェクトがある場合、これを実行するだけでそれらを関連付けることができます。
photo.tags << tag
それで、これと同じように単純な反対はありますか?つまり:
photo.tags.remove tag
ここにあなたが欲しいものがあります:
photo.tags.delete(tag)