创建记录并向其添加相关记录

时间:2010-01-29 17:43:59

标签: ruby-on-rails forms cart

我有以下型号

class Order < ActiveRecord::Base
    has_many :products, :through => :line_items
end
class Product < ActiveRecord::Base
    belongs_to :order
end

line_items 是一个表格,它将订单与多个产品相关联。

create_table "line_items", :force => true do |t|
    t.integer  "order_id"
    t.integer  "product_id"
    t.integer  "count"
    t.datetime "created_at"
    t.datetime "updated_at"
end

因此,每个订单都可以有多个产品。

我需要创建一个表单,允许用户创建订单并向其中包含一些产品。对于每种产品,可以设置数量。 我认为,这个问题的经典解决方案,通过保持推车(或篮子)在会话中,不符合我的问题,因为我需要设置和发送所有的东西一次,而不点击每个产品的购买按钮并等待。

是否有实施此方法的最佳做法?