我正在处理添加到购物车的表单。它看起来像这样
#Models
Order.rb
has_many :line_items
accepts_nested_attributes_for :line_items, :allow_destroy => true
LineItem.rb
has_one :product
belongs_to :order
Product.rb
belongs_to :line_item
我想在产品#show中创建一个表单,允许一次将多个相关产品添加到订单/购物车,基本上创建或更新每个产品的订单项。 / p>
在视图中可能是这样的(HAML保持简短)。
-form_for @order do |f|
- if has_related?
- for related in @products.related_products
- f.field_for :line_item do |li_form|
= li_form.text_field :quantity
= li_form.hidden_field :product_id
= related.product_name
实际做这样的工作需要什么?
答案 0 :(得分:1)
我需要更多信息才能确定,但似乎LineItem belongs_to :product
和Product不应该belong_to :line_item
,除非那里确实存在1-1关系(这对于我,并不遵循这些系统的正常惯例)
注意**在-
之前使用form_for
并在{strong> rails 3 中弃用了fields_for
,而使用{{1}因为表单确实呈现了html
=
是has_many关系的语法
其余全部取决于您的用户体验设计。
希望这有帮助!