Je crée un simple panier dans les rails, quand j'ajoute le produit au panier J'ai cette erreur: Vous avez un objet nul quand vous ne l'attendiez pas!Objets nil dans le panier
l'ajouter à la méthode de panier est:
def add_to_cart
begin
product = Product.find(params[:id])
rescue ActiveRecord::RecordNotFound
logger.error("Attemp to access invalid product #{params[:id]}")
flash[:notice] = "Invalid Product !"
redirect_to :action => :index
else
@cart = find_cart
@cart.add_product(product)
end
end
et le add_product dans le panier:
def add_product(product)
current_item = @items.find {|item| item.product == product}
if current_item
current_item.increment_quantity
else
@items << CartItem.new(product)
end
end
le chariot fonctionnait correctement, quand j'ajoute la méthode de sauvetage pour add_to_cart cela est arrivé ...
C'est soit ça, soit @cart est nul parce que la méthode find_cart est nulle. Entre ces deux suggestions, vous devriez être capable de le comprendre. Le débogueur Ruby peut vous aider: http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-ruby-debug – hgmnz