ruby on rails - rails - Active Record has_many: a través de eliminar un registro asociado
recursos anidados rails (1)
Esto puede ser una supervisión muy básica de mi parte, pero no puedo recordar un método simple para eliminar una asociación entre dos objetos unidos a través de has_many :through
. ES DECIR:
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 tiene dos objetos, tag
y photo
, puede asociarlos simplemente haciendo esto:
photo.tags << tag
Entonces, ¿hay un opuesto igualmente simple a esto? es decir:
photo.tags.remove tag
esto es lo que quieres:
photo.tags.delete(tag)