У меня есть модель продаж, ссылающаяся на себя.Объект продажи может представлять собой «независимую» продажу продукта, продажу набора продуктов или продажу продукта в пределах набора:
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 ...%> для вложенных записей?
Как обрабатывать отправленные записи на стороне контроллера?