6
A
回答
9
最简单的方法是通过迁移将属性直接添加到产品模型。验证可以通过使用装饰器添加,这是Spree中用于覆盖模型的首选模式。
# in app/models/product_decorator.rb
Product.class_eval do
validates :some_field, :presence => true
end
另一种选择是为扩展字段创建辅助模型。也许ProductExtension
# in app/models/product_extension.rb
class ProductExtension < ActiveRecord::Base
belongs_to :product
validates :some_field, :presence => true
end
# in app/models/product_decorator.rb
Product.class_eval do
has_one :product_extension
accepts_nested_attributes_for :product_extension
delegate :some_field, :to => :product_extension
end
然后在您的产品创建表单中,您可以为这些字段提供一个fields_for。我认为有一点需要注意的是,在扩展变得可用之前,您需要创建产品模型。您可以在产品控制器创建操作时使用一些额外的逻辑解决此问题。
0
我的方式来延长狂欢产品型号(通过delegate_belongs_to):
#app/models/product_decorator.rb
Spree::Product.class_eval do
has_one :product_extension
accepts_nested_attributes_for :product_extension, :allow_destroy => true
delegate_belongs_to :product_extension, :some_field
attr_accessible :some_field
end
#app/models/product_extension.rb
class ProductExtension < ActiveRecord::Base
belongs_to :product, :class_name => 'Spree::Product'
attr_accessible :some_field
end
相关问题
- 1. Spree产品订阅自定义
- 2. 自定义产品属性网址
- 3. Magento自定义产品属性
- 4. 自定义产品类型的自定义属性
- 5. 关于产品:自动属性
- 6. Magento将产品收集加入自定义属性的自定义表
- 7. Magento - 自定义产品属性不会在产品视图中显示
- 8. Magento:目录产品的单个自定义属性有多行?
- 9. 是否可以在前端的分组产品下显示相关产品的自定义属性? (Magento)
- 10. Spree中的自定义元描述和关键字标签
- 11. 定制产品属性
- 12. Magento - 试图获得自定义产品属性
- 13. Magento:自定义产品属性以选择CMS页面
- 14. 添加自定义woocommerce电子邮件基于产品属性
- 15. 根据客户群(Magento)显示自定义产品属性
- 16. Magento获取自定义产品属性值
- 17. Spree:显示产品的品牌名称?
- 18. WordPress的/ WooCommerce - 相关产品按属性
- 19. Spree REST API产品图片
- 20. Magento自定义字段定义产品
- 21. 设置CArrayDataProvider的自定义键属性?
- 22. 自定义执行财产属性
- 23. WooCommerce相关产品按属性筛选
- 24. nopcommerce指定产品的属性组合
- 25. 自定义的产品属性不管理目录部分Magento的显示2.1
- 26. C#4动态关键字 - 如何设置自定义属性
- 27. Magento产品的自定义案例?
- 28. satchmo中的自定义产品模板
- 29. 显示产品的自定义分类
- 30. Eclipse RCP产品中的自定义config.ini