УДАЛИТЬ методы для ассоциаций HABTM? - PullRequest
0 голосов
/ 14 марта 2012

У меня есть следующие модели:

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

На данный момент я могу создать релиз и добавить к нему треки.Когда я создаю продукт, он наследует дорожки из выпуска.

Я хочу удалить отдельные дорожки на уровне продукта, но не саму запись дорожки, поэтому удалите связь в1006 *.

Как мне написать соответствующий метод уничтожения, в каком контроллере он должен находиться и как следует структурировать link_to?

1 Ответ

1 голос
/ 14 марта 2012

Вы пытались просто уничтожить треки на уровне продукта? Я считаю, что поведение по умолчанию - уничтожить отношения, а не запись на другом конце отношений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...