【问题标题】:Rails Migration - Spree CommmerceRails 迁移 - Spree Commerce
【发布时间】:2013-10-31 10:23:43
【问题描述】:

我想将特色产品和最新产品添加到我的主页,我正在复制 spree_fancy gem 方法并使用以下迁移添加分类单元,但未在侧栏中显示标签,但我不确定这部分迁移是什么正在做 -

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

这是完整的迁移

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

【问题讨论】:

    标签: ruby-on-rails-3 spree


    【解决方案1】:

    丹,

    迁移的这一部分只是将产品分配给每个分类单元。当您实际使用它时,您不需要它,因为您将挑选并选择要放入每个类别的产品。

    【讨论】:

    • 我有这个迁移的问题。目前它似乎没有运行 def down 部分,因此“标签”仍在数据库中并且在我不想要的屏幕上可见(我只想要分类单元)所以如果我启动控制台并手动启动在分类法上运行破坏命令,它会从数据库中删除“最新”分类,有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多