我有一个自我参考的销售模式。销售对象可以表示“独立”的产品销售、产品集合的销售或集合内产品的销售:
create_table :sales do |t|
t.belongs_to :product
t.belongs_to :set
t.integer :set_sale_id
...
end
set_sale_id 引用集合销售的父记录:
class Sale < ActiveRecord::Base
belongs_to :product
belongs_to :set
# parent sale (set sale)
belongs_to :set_sale, :class_name => 'Sale'
# nested product sales
has_many :product_sales, :class_name => 'Sale', :foreign_key => :set_sale_id
end
我想通过这样一个表单提交多个产品并设置销售额:
------------------ |产品一 \/| ------------------ ------------------ |产品 2 \/| ------------------ -------------- |设置 1 \/| -------------- -------------- |产品 2 \/| -------------- |产品 3 \/| -------------- ------------------ |选择产品\/| ------------------ ---------- | 提交 | ----------
问题是如何以最佳方式使用 <%= f.fields_for ... %> 进行嵌套记录?
控制器端如何处理提交的记录?