【发布时间】:2012-02-29 23:08:46
【问题描述】:
我有以下型号:
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
在我创建 Release 时,我可以为其分配轨道。当我创建一个产品(在一个版本下)时,我希望它继承分配给它的曲目,但能够修改订单、添加和删除曲目。
这种方法背后的原因是,在大多数情况下,多个产品的曲目都是相同的,因此可以节省重新列出/上传曲目的工作。我可以简单地从发行版中提取曲目,但我必须有能力改变这一点,例如可能会有一个带有奖励曲目的 iTunes 独家。
我猜我需要在 Product 控制器的 new & create 操作中添加一些行来促进这一点?谁能提供一些指导?
如果没有在发布级别添加的额外曲目后来在产品级别添加,我如何确保它也包含在发布级别?
将 Jquery 拖放发布到产品方法是最好的吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3