我正在阅读使用 Rails 进行敏捷 Web 开发教程。有产品、订单项和购物车。
产品
class Product < ActiveRecord::Base
attr_accessible :description, :image_url, :price, :title
has_many :line_items
end
订单项
class LineItem < ActiveRecord::Base
attr_accessible :cart_id, :product_id, :product
belongs_to :product
belongs_to :cart
end
大车
class Cart < ActiveRecord::Base
has_many :line_items, dependent: :destroy
end
LineItems 控制器
class LineItemsController < ApplicationController
def create
@cart = current_cart
product = Product.find(params[:product_id])
@line_item = @cart.line_items.build(product: product)
....
end
我的问题是关于上面创建操作中的第三行。我了解将 product_id 传递到 line_items.build() 但我不明白传递整个产品的作用是什么?
谢谢,迈克