The easiest way is to add attributes directly to the product model through migration. Ratings can be added using decorators, the preferred template in Spree to override models.
# in app/models/product_decorator.rb Product.class_eval do validates :some_field, :presence => true end
Another option is to create a secondary model for your extended fields. Maybe ProductExtension
# in app/models/product_extension.rb class ProductExtension < ActiveRecord::Base belongs_to :product validates :some_field, :presence => true end
Then, in the product creation forms, you can provide these fields from field_to_. I think one caveat to this is that you will need to create a created product model before the extension becomes usable. Perhaps you will get around this with additional logic in the product controllers, create an action.
source share