I have the following personal class to work on an arrangement for the shopping cart, but when I try to call a method of this class in my controller it indicates an undefined method add_cesta
.
This is my class
class Carro
attr_reader :cesta
def initialize
@cesta = []
end
def add_cesta(articulo)
@cesta << articulo
end
end
and this is my controller
class TiendaController < ApplicationController
def index
@titulo = "Bienvenido a la Tienda"
@articulos = Articulo.all.order("nombre").page(params[:page]).per_page(4)
end
def quienes_somos
@titulo = "Bienvenido a la Tienda"
end
def contacto
@titulo = "Bienvenido a la Tienda"
end
def anadir_producto
@articulo = Articulo.find(params[:id])
@carro = sesion_carrito
@carro.add_cesta(@articulo)
flash[:info] ="Producto añadido #{@articulo.nombre}"
redirect_to inicio_url
end
def ver_carro
@carro = session[:carro]
end
def vaciar_carrito
session[:carro] = nil
flash[:info] = "Carrito vacio"
redirect_to inicio_url
end
private
def sesion_carrito
session[:carro] ||= Carro.new
end
end