« Tentative d'appeler la méthode privée » avec tutoriel dépôt« Tentative d'appeler la méthode privée » avec tutoriel dépôt
Dans mon modèle « cart.rb » Je
def add_product(product_id)
current_item = line_items.where(:product_id => product_id).first
if current_item
current_item.quantity += 1
else
current_item = LineItem.new(:product_id=>product_id)
line_items << current_item
end
current_item
end
Et dans « line_items_controller.rb «Je
def create
@cart = find_or_create_cart
product = Product.find(params[:product_id])
@line_item = @cart.add_product(product.id)
.....
Lorsque je sélectionne un élément à ajouter au panier, je reçois une « erreur Tentative d'appel de méthode privée ».
trace d'application est
/Users/machinename/.gem/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/attribute_methods.rb:236:in `method_missing'
/Users/machinename/Documents/rails_projects/depot/app/controllers/line_items_controller.rb:46:in `create'
j'ai vu une discussion d'une erreur semblable et ça sonnait comme la réponse a été mise à niveau vers Ruby 1.9 (je me sers 1.8.7). Est-ce la réponse ou y a-t-il une autre cause possible?
classe panier: détruire fin def add_product (product_id) current_item = line_items.where (: product_id => product_id) .first si current_item current_item.quantity + = 1 autre current_item = LineItem.new (: product_id => product_id) line_items << current_item fin current_item fin –
Maestro1024
C'est moche mais c'est le code du modèle cart.rb. – Maestro1024
vous ajoutez votre méthode après avoir fermé la classe. mettre fin à la classe après la fin de la méthode et je parie que ça va marcher. – Salil