Нужен совет, если сможете помочь — выручайте, а то борода.
Не могу сделать добавление в корзину через единственную кнопку. Rails 5. Суть в чём — обычно для каждого товара генерируется форма с кнопкой и, например, окошком для указания количества товаров.
Мне надо сделать, по сути, единственную форму для всего этого добра, чтобы по нажатию "Add to Cart" в корзину падали те товары, где указанное количество в окошках не ноль.
Я так понимаю, надо юзать nested_attributes, чтобы передавать массив параметров, но пока всё, что у меня получилось — это ничего. Может, кто поможет советом.
Есть три модели, по сути.
Cart
has_many :cart_items
Products
has_many :cart_items
#тут, я так понимаю, нужно это
accepts_nested_attributes_for :cart_items
CartItems
belongs_to :cart
belongs_to :product
Выходит такая форма, которая отправляет в массиве только данные последнего товара, а не всех.
<%= form_for @order_item, remote: true do |f| %>
<%= f.fields_for :products do |products_form| %>
<% @products.each do |product| %>
<%= product.name %>
Unit Price:<%= number_to_currency product.price %>
<%= f.number_field :quantity, value: 1, class: "form-control", min: 1 %>
<%= f.hidden_field :product_id, value: product.id %>
<% end %>
<% end %>
<%= f.submit "Add to Cart", class: "btn btn-primary" %>
<% end %>
Вот такая байда. Если есть мысли и/или ссаные тряпки, то я готов :)