【问题标题】:Agile Web Development line_item creation敏捷 Web 开发 line_item 创建
【发布时间】:2012-08-07 21:00:03
【问题描述】:

我正在学习使用 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

LineItemsController

class LineItemsController < ApplicationController

  def create
    @cart = current_cart
    product = Product.find(params[:product_id])
    @line_item = @cart.line_items.build(product: product)
    ....
  end

我的问题是关于上面创建操作中的第 3 行。我了解将 product_id 传递给 line_items.build() 但我不明白传递整个产品的作用是什么?

谢谢, 迈克

【问题讨论】:

    标签: ruby-on-rails-3


    【解决方案1】:

    这将设置与产品的关系(如belongs_to产品)

    您也可以手动设置 product_id,但您为什么要这样做。这样就简单多了。

    Active Record 理解关系的概念 - 因此它会自动为您设置 id。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多