You can do this without having to call destroy_all. You should look at how has_many :tags works with video.tags=