ruby on rails 3 -返回错误的类型



我有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

相关内容

  • 没有找到相关文章

最新更新