Rails ブック (最新版) を使用した有名なアジャイル Web 開発からこのスニペットを取得します。
def create
@cart = current_cart
product = Product.find(params[:product_id])
@line_item = @cart.line_items.build(product: product)
これは一般的な e コマース/デポ アプリ用で、この関数は特定の商品の [カートに追加] ボタン用です。ここで私は混乱しています:
コードは次のように想像しました:
@line_item = line_items.build(product: product)
@line_item = line_items.build(cart: @cart)
基本的line_itemに が商品とカートの両方に属している場合は、それらの関係を別々に作成します。
また、カートにline_itemsまだ何も入っていない場合、どうすればよい@cart.line_itemsですか? line_items.build(product: product)がオブジェクトを返すことは理解していline_itemます (これを に保存します@line_item) 。 cart.line_itemsline_items