Я создаю простой магазин.
Моя схема:
cart_items(product_id, cart_id, quantity)
carts()
products(title, price, inventory)
Теперь я пытаюсь создать на странице товаров кнопку для создания корзины.Затем на странице показа для каждого продукта есть кнопка add_to_cart
, которая создает cart_item
с product_id
и cart_id
из самой последней корзины.
Я знаю, как это сделать наconsole.
CartItem.create(cart: Cart.last product: 'some product', quantity: 1)
Поскольку единственный параметр, который изменится, это product_id
.Я полагаю, мне нужно создать метод в ProductsController
с именем add_to_cart
, который принимает текущий product_id
и создает позицию.
Я новичок в ruby на рельсах, и я не знаю, как это сделать правильно, и если то, что я пытаюсь, - правильный путь.
Как мне показать кнопку на моих продуктах?страница, которая говорит add_to_cart
и создает cart_item
с этим product_id
и последней корзиной?
Обновление:
путь для add_to_cart
равен add_to_cart
.Когда я делаю это Add_to_cart_path
, возникает ошибка, запрашивающая did you mean 'Add_to_cart_path_url'
, которая приводит к другой ошибке, если я ее изменяю.
В настоящее время я получаю ошибку wrong number of arguments (given 1, expected 0)
Мой метод
def add_to_cart
product_id = params[:product_id]
CartItem.create(product: Product.find(product_id), cart: Cart.last, quantity: 1)
end