我有ProductPrice的模型:
class ProductPrice < ActiveRecord::Base
belongs_to :product
belongs_to :product_size
attr_accessible :current, :price, :product_id, :product_size_id, :since
def self.get_product_prices(category_id, product_id)
MenuCategory.find(category_id).product_sizes.each do |size|
ProductPrice.find_or_create_by_product_size_id_and_product_id(size.id, product_id)
end
end
end
当我调用get_product_prices
时,它正确返回记录数,但它返回ProductSize而不是ProductPrice。
如何返回ProductSize而不是ProductPrice?
因为您正在使用每个,并且它返回应用的确切数组,即MenuCategory.find(category_id).product_sizes
。下面是另一个例子,可以帮助你理解这个问题:
def test
[1, 3].each { |e| e * 2 }
end
test # => [1,3]
如果您希望它返回一个ProductPrice数组,您可以将each
更改为map
。