HABTM关联的DELETE方法



我有以下型号:

class Release < ActiveRecord::Base
  has_many :products, :dependent => :destroy
  has_and_belongs_to_many :tracks
end
class Product < ActiveRecord::Base
 belongs_to :release
 has_many :releases_tracks, :through => :release, :source => :tracks      
 has_and_belongs_to_many :tracks
 before_save do
   self.track_ids = self.releases_track_ids
 end        
end
class Track < ActiveRecord::Base
  has_and_belongs_to_many :releases
end
class ReleaseTracks < ActiveRecord::Base
  belongs_to :release
  belongs_to :track
end
class ProductsTracks < ActiveRecord::Base
  belongs_to :product
  belongs_to :track
end

现在我可以创建一个版本并添加曲目。当我创建一个产品时,它会继承版本中的曲目。

我想做的是能够在产品级别删除单个曲目,但不能删除曲目条目本身,因此删除ProductsTracks中的关联。

我应该如何编写适当的destroy方法,它应该位于哪个控制器中,link_to应该如何构造?

您是否尝试过在产品级别销毁曲目?我认为默认的行为是破坏关系,而不是关系另一端的记录。

最新更新