Hola de nuevo, estoy haciendo la Iteration D3 sobre Highlighting Changes
en el carrito de la compra del Agile usando AJAX.
Cuando añado al carro, se actualiza pero aparece un alert diciendo RJS
Error TypeError $(“current_item) has no properties. A alguien le ha
pasado y cómo se puede solucionar?
He modificado las cosas tal y como están en el libro:
def add_product(product)
current_item = @items.find {|item| item.product==product}
if current_item
current_item.increment_quantity
else
current_item = CartItem.new(product)
@items << current_item
end
current_item
end
No te falta una comilla después de current_item) ?
Tiene pinta de estar el error en add_product.rjs
Pues entonces mira a ver si en tu rhtml tienes un elemento con id
current_item. El error es de prototype y dice que no encuentra un
elemento
con esa id.
Pon el rhtml aquà a ver…
Luis V.
escribió:
> No te falta una comilla después de current_item) ?
Mi controlador store:
end
end
No se dónde puede fallar
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es
Efectivamente, había escrito mal el id en el rhtml, joder… muchas
gracias, vaya día que llevo
Suele pasar cuando se empieza, que no sabemos identificar el error que
te da
y eso sólo lo da la experiencia.
Luis V.
escribió:
No te falta una comilla después de current_item) ?
Tiene pinta de estar el error en add_product.rjs
Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es
Bueno, la comilla se me ha pasado cerrarla, pero éso es del alert.
Mi controlador store:
def add_to_cart
begin
product=Product.find(params[:id])
rescue ActiveRecord::RecordNotFound
logger.error(“Producto no valido #{params[:id]}”)
redirect_to_index(“Producto no valido”)
else
@cart=find_cart
@current_item = @cart.add_product(product)
end
end
En la clase Cart:
def add_product(product)
current_item = @items.find {|item| item.product==product}
if current_item
current_item.increment_quantity
else
current_item = CartItem.new(product)
@items << current_item
end
current_item
end
En mi add_to_cart.rjs tengo:
page.replace_html(“cart”, :partial=>“cart”, :object=>@cart)
page[:current_item].visual_effect :highlight,
:startcolor=>“#88ff88”,
:endcolor=>“#114411”
No se dónde puede fallar