Problem z CartItem w Depot

Witam mam pewien problem nie wiem jak sobie z nim poradzić.

Od jakiegoś czasu czytam Agile 3 edycja podążam za książką i tworzę aplikację depot.
Niestety pojawił się błąd podczas tworzenia CartItem czyli koszyka który liczy produkty. W książce jest wszystko opisane jednak u mnie na serwerze jest błąd.

W momencie jak kliknę przycisk dodaj do karty wyświetlane jest:

We’re sorry, but something went wrong.

We’ve been notified about this issue and we’ll take a look at it shortly.

Może wersja jest problemem pracuje na 2.3.5

Proszę o wskazówki

Odpal aplikację w trybie development, wtedy zamiast tej strony zobaczysz szczegółową informację obłędzie (albo zobacz do logów), z tego będzie dopiero można coś wywnioskować.

I używaj oczywiście wersji Railsów i Rubiego takich, jak w książce.

Dziękuje za odpowiedź.

Zrobiłem jak radziłeś i otrzymałem taki błąd:

[code]NoMethodError in StoreController#add_to_cart

undefined method `product’ for #Product:0x3eeb0a8
RAILS_ROOT: /home/nikos/rails/depot

Application Trace | Framework Trace | Full Trace
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/attribute_methods.rb:260:in method_missing' /home/nikos/rails/depot/app/models/cart.rb:18:inadd_product’
/home/nikos/rails/depot/app/models/cart.rb:18:in each' /home/nikos/rails/depot/app/models/cart.rb:18:infind’
/home/nikos/rails/depot/app/models/cart.rb:18:in add_product' /home/nikos/rails/depot/app/controllers/store_controller.rb:19:inadd_to_cart’
Request

Parameters:

{“authenticity_token”=>“XptWA/huPdc7/blt8e0IjrcTbLz8l3ibRWaDwOCOSyk=”,
“id”=>“10”}
Show session dump

Response

Headers:

{“Content-Type”=>"",
“Cache-Control”=>“no-cache”}[/code]

nikos, w metodzie add_to_cart wywołujesz metodę product na klasie Product. Sprawdź, czy nie zrobiłeś jakiejś literówki i czy na dobrym obiekcie wywołujesz tą metodę.

W store controller mam metodę add_to_cart w niej mam coś takiego:

def add_to_cart
    product = Product.find(params[:id])
    @cart = find_cart
    @cart.add_product(product)
  rescue ActiveRecord::RecordNotFound
    logger.error("Attempt to access invalid product #{params[:id]}")
    flash[:notice] = "Invalid product"
    redirect_to :action => 'index'
  end
  

Następnie w pliku add_to_card.html.erb

<h2>Your Pragmatic Cart</h2>  
<ul> 
  <% for item in @cart.items %>
    <li><%= item.quantity %> &times; <%=h item.title %></li> 
  <% end %>
</ul> 

w index.html.erb
odnośnik do koszyka

<%= button_to "Dodaj do koszyka", :action => 'add_to_cart', :id => product %> 

wydaje się że wszystko wygląda ok. Chyba, że ja nie widzę tego co trzeba…

przepraszam, pomyłka. chodzi o metodę add_product z klasy Cart

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

błąd jest w pierwszej linijce przytoczonej metody

Dlaczego pierwsza linijka jest błędna?