У меня есть следующие модели:
class Release < ActiveRecord::Base
has_many :products, :dependent => :destroy
has_and_belongs_to_many :tracks
end
class Product < ActiveRecord::Base
belongs_to :release
has_and_belongs_to_many :tracks
end
class Track < ActiveRecord::Base
has_and_belongs_to_many :releases
has_and_belongs_to_many :products
end
В тот момент, когда я создаю релиз, я могу назначить ему треки.Когда я создаю продукт (в рамках выпуска), я хочу, чтобы он унаследовал назначенные ему дорожки, но при этом смог изменить порядок, добавить и удалить дорожки.
Причина такого подхода заключается в том, что в большинстве случаевдорожки будут одинаковыми для нескольких продуктов, поэтому это избавит от необходимости повторного перечисления / загрузки дорожек.Я мог бы просто извлечь треки из релиза, но у меня должна быть возможность изменить это, например, может быть эксклюзив iTunes с бонус-треком.
Полагаю, мне нужно добавить несколько строк вnew & создать действия контроллера продукта, чтобы облегчить это?Кто-нибудь может предложить какое-нибудь руководство?
В том случае, если дополнительный трек, не добавленный на уровне релиза, позже добавляется на уровне продукта, как бы я удостоверился, что он также включен на уровне релиза?Будет ли лучше использовать Jquery drag-and-drop для Release to Product?