5

我在我的 Rails 3.2 应用程序中使用 Spree,我想扩展 Spree 的 Product 类以更好地满足我的需求,例如与我的应用程序中的另一个模型建立关系。最好的方法是什么?我在项目文档中找不到任何关于它的信息

如果我想向 Product 资源添加新的属性/字段怎么办?我也找不到它的迁移:/

提前致谢 :)

4

1 回答 1

19

最好的办法是product_decorator.rb在您的应用程序中创建一个。

这将如下所示:

Spree::Product.class_eval do
  ...
end

在那里,您可以随意修改您想要的任何内容!

这是相关的文档。

要将新字段添加到现有模型,请运行如下迁移:

# migration
class AddSubscribableFieldToVariants < ActiveRecord::Migration
  def change
    add_column :spree_variants, :subscribable, :boolean, default: false
  end
end

然后在模型中添加以下内容:

# spree/variants_decorator.rb
Spree::Variant.class_eval do
  attr_accessible :subscribable
end
于 2013-01-07T19:42:19.300 回答