ProductPrice、Product、Menu があります
製品はメニューに属し、製品価格は製品に属します。
繭のネストされたオブジェクトを使用して、一度に価格で製品を作成しています。
ProductPrice には、次のコードがあります。
def menu
self.product.menu;
end
価格は、product_category とサイズによって異なります。したがって、新しい製品を作成するとき、ユーザーはその製品が属するカテゴリを選択し、ajax を介して product_prices を取得して、ユーザーがその製品の各サイズの価格を入力できるようにします。価格は次の手順で取得されます。
def self.get_product_prices(category_id, product_id)
if category_id != "0"
MenuCategory.find(category_id).product_sizes.map do |size|
if product_id == "0"
ProductPrice.new({:product_size_id => size.id })
else
ProductPrice.find_or_initialize_by_product_size_id_and_product_id(size.id, product_id)
end
end
end
end
これを作成すると、製品が nil として返されるため、エラーが発生します。永続化されていない製品が属するメニューを取得する方法はありますか? ProductPrice には product_id 属性が入力されており、Product は常に menu_id が入力されて作成されていることがわかります。