Задать вопрос
@ArtemBlueberry

Как передать выбранное значение из collection select?

Доброго времени суток.
При разработке интернет- магазина возникла проблема: я добавил к модели product поле size, но я никак не могу сделать так, чтобы выбранный покупателем размер добавлялся к line items.
Подскажите как можно сделать так, чтобы выбранное значение из collection select можно было передать в качестве аргумента в функцию add to cart?

Show_product_to_customer view
= @product.title
= collection_select(:product,:size, @product.sizes, :id,:name)
= button_to 'В корзину', line_items_path(product_id: @product,size_id:  ??? ),
                    remote: true, form_class: 'button-cart'

Show_product_to_customer conrtoller
def show_product_to_customer 
    @product = Product.find(params[:id])
  end

Line item controller
def create
    @cart = current_cart
    product = Product.find(params[:product_id])
    size = Size.find(params[:size_id])
    @line_item = @cart.add_product(product.id,size.id)

def add_product(product_id,size_id)
    current_item = line_items.find_by(product_id: product_id, size_id: size_id)
    if current_item
      current_item.quantity += 1
    else
      current_item = line_items.build(product_id: product_id, size_id: size_id)
    end
    current_item
  end
  • Вопрос задан
  • 365 просмотров
Подписаться 2 Комментировать