Rails: создайте несколько записей модели с собственной ссылкой из одной формы - PullRequest
1 голос
/ 07 июля 2011

У меня есть модель продаж, ссылающаяся на себя.Объект продажи может представлять собой «независимую» продажу продукта, продажу набора продуктов или продажу продукта в пределах набора:

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

Я хочу отправить несколько товаров и установить продажи из одной формы, например, такой:

-------------------
|Product 1      \/|
-------------------
-------------------
|Product 2      \/|
-------------------
--------------
|Set 1     \/|
--------------
  --------------
  |Product 2 \/|
  --------------
  |Product 3 \/|
  --------------
-------------------
|Select product \/|
-------------------

----------
| Submit |
----------

Вопрос в том, как сделать это оптимальным способом, используя <% = f.fields_for ...%> для вложенных записей?

Как обрабатывать отправленные записи на стороне контроллера?

...