Browse Source

Fixed error in product create action

Dalia Carlon 9 years ago
parent
commit
a98da3c7dd
1 changed files with 18 additions and 16 deletions
  1. 18 16
      app/models/product.rb

+ 18 - 16
app/models/product.rb

@@ -174,26 +174,28 @@ class Product < ActiveRecord::Base
 		combinations = self.get_combinations(combinations, attributes)
 
 		##--- recorrer combinaciones para crear las variantes de productos
-		combinations.each_with_index do |combination, index|
-			@products_variant = Product.new
-			@products_variant = self.dup
-			@products_variant.parent_id = self.id
-			@products_variant.is_parent = false
-			@products_variant.sku = self.sku + "#{index + 1}" + "A"
-			@products_variant.category_ids = self.category_ids
-			attributes_json = {}
+		unless combinations.nil?
+			combinations.each_with_index do |combination, index|
+				@products_variant = Product.new
+				@products_variant = self.dup
+				@products_variant.parent_id = self.id
+				@products_variant.is_parent = false
+				@products_variant.sku = self.sku + "#{index + 1}" + "A"
+				@products_variant.category_ids = self.category_ids
+				attributes_json = {}
 
-			if combination.is_a?(Array)
-				combination.each do |attrib|
-					attributes_json = @products_variant.assign_attributes_to_variant(attrib, self.id, attributes_json)
+				if combination.is_a?(Array)
+					combination.each do |attrib|
+						attributes_json = @products_variant.assign_attributes_to_variant(attrib, self.id, attributes_json)
+					end
+				else
+					attributes_json = @products_variant.assign_attributes_to_variant(combination, self.id, attributes_json)
 				end
-			else
-				attributes_json = @products_variant.assign_attributes_to_variant(combination, self.id, attributes_json)
-			end
 
-			@products_variant.attributes_json = attributes_json.to_json
-			@products_variant.save
+				@products_variant.attributes_json = attributes_json.to_json
+				@products_variant.save
 
+			end
 		end
 
 	end