2013-01-13 64 views
1

我有這個模型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

由於您使用的是each,它會返回應用的確切數組,即MenuCategory.find(category_id).product_sizes。下面是另一個例子可以幫助你理解這個問題:

def test 
    [1, 3].each { |e| e * 2 } 
end 

test # => [1,3] 

如果你希望它返回ProductPrice數組,你可能會改變eachmap