我想爲兩個單獨但非常相似的關聯使用一個連接模型。以下是我有:Rails has_many通過過濾的關聯
兩個主要型號有:包裝,尺寸
Pacakges有多種尺寸,但有皺紋。尺寸需要分配爲頂部或底部的尺寸。我的包目前協會有:
has_many :package_sizes
has_many :sizes, :through => :package_sizes
has_many :bottoms_sizes, :through => :package_sizes, :scope => {:package_sizes => {:bodylocation => "B"}}, :source => :size
has_many :tops_sizes, :through => :package_sizes, :scope => {:package_sizes => {:bodylocation => "T"}}, :source => :size
包裝尺寸與聯接模型:size_id | package_id | bodylocation:字符串
我有一個失敗的測試,以驗證它是否工作:
@p = Package.new
@size1 = Size.first
@p.tops_sizes << @size1
@p.save
@p.reload
@p.tops_sizes.should include(@size1)
這應該正常工作,但由於某種原因,bodylocation場不會被自動設置。
任何想法?
真棒。很棒。謝謝! – chrishomer 2010-11-12 02:30:34