45

これは私の非常に基本的な見落としかもしれませんが、 を介して結合された 2 つのオブジェクト間の関連付けを削除する簡単な方法を思い出すことができないようですhas_many :through。いいえ:

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との 2 つのオブジェクトがある場合photo、次のようにするだけでそれらを関連付けることができます。

photo.tags << tag

それで、これと同じように単純な反対はありますか?すなわち:

photo.tags.remove tag
4

1 に答える 1

69

here's what you want:

photo.tags.delete(tag)
于 2012-11-04T11:07:42.620 に答える