Bonjour,

je travaille actuellement sur une petit application de vente de produits et je bloque à quelques endroits.
J'ajoute un item au panier (en session pour le moment), si le panier n'a pas encore été initialisé je crée un tableau vide et j'ajoute l'item.

module Cart 
    def add_to_cart(item)
        if session[:cart].nil?
            session[:cart] = []
            session[:cart] << item
        else
            session[:cart] << item
        end
    end  
end

le premier s'ajoute nickel
partial session dump

cart: [{"description"=>"Professional P2213 - Ecrans PC", "designation"=>"DELL", "id_produit"=>"1", "prix"=>"233.71", "quantite"=>"10", "selected"=>"false"}]

Et à partir du deuxième j'obtiens l'erreur suivante (le format du produit n'est pas super, je dois le recuperer d'un wsdl... mais bon pour le moment on fait avec)

no implicit conversion of ActiveSupport::HashWithIndifferentAccess into Array

Je ne vois pas comment contourner ce problème, si quelqu'un pouvait m'aiguiller ce serait vraiment super.

Merci d'avance, et bonne année à tous :).
Cordialement

1 réponse


TransientDev
Auteur
Réponse acceptée

J'ai résolu le problème en faisant:

session[:cart] << item.to_json

du coup je dois le parser à chaque fois que j'y accède mais ça suffira pour cette fois ci ^_^.
Je met le sujet en résolu mais si quelqu'un a une meilleurs proposition qu'il n'hésite pas, au cas ou ça puisse aider quelqu'un plus tard :D