我有这个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?
答案 0 :(得分:0)
因为您使用的是each,它会返回应用的确切数组,即MenuCategory.find(category_id).product_sizes
。这是另一个可以帮助您理解问题的例子:
def test
[1, 3].each { |e| e * 2 }
end
test # => [1,3]
如果您希望它返回ProductPrice数组,您可以将each
更改为map
。