2013-10-31 95 views
0

我想添加精選和最新的產品到我的主頁,我正在複製spree_fancy gem方法並使用下面的遷移來添加分類,但不在側欄顯示標籤,但我不確定這是什麼在migrataion的部分是做 -Rails遷移 - Spree Commmerce

products = Spree::Product.all 

if products[6] 
    products[0..6].each do |product| 
    product.taxons << slider 
    end 
end 

if products[16] 
    products[4..16].each do |product| 
    product.taxons << featured 
    end 

    products[0..12].each do |product| 
    product.taxons << latest 
    end 

以下是完整的migation

class AddSliderTaxonsAndApplyThem < ActiveRecord::Migration 
    def up 
    tags  = Spree::Taxonomy.create(:name => 'Tags') 
    slider = Spree::Taxon.create({:taxonomy_id => tags.id, :name => 'Slider'}) 
    featured = Spree::Taxon.create({:taxonomy_id => tags.id, :name => 'Featured'}) 
    latest = Spree::Taxon.create({:taxonomy_id => tags.id, :name => 'Latest'}) 

    products = Spree::Product.all 

    if products[6] 
    products[0..6].each do |product| 
     product.taxons << slider 
    end 
    end 

    if products[16] 
    products[4..16].each do |product| 
     product.taxons << featured 
    end 

    products[0..12].each do |product| 
     product.taxons << latest 
    end 
    end 
    end 

    def down 
    Spree::Taxonomy.where(:name => 'Tags').first.destroy() 
    end 
end 

回答

1

丹,

遷移的那部分被簡單地分配產品,以EA ch taxon。當你真正使用它時,你並不需要它,因爲你會挑選並選擇在每個類別中放置的產品。

+0

我遇到了此遷移的問題。目前它似乎沒有運行下降部分,因此'標籤'仍然在數據庫中,並且我不想要(我只想要Taxons)屏幕上可見,所以如果我啓動控制檯並手動運行分類法上的銷燬命令,從數據庫中刪除「最新」的分類,任何想法? –