Ruby on rails Rails未定义方法错误突然出现
我正在使用购物车制作一个应用程序,购物车已经运行了数周,直到今天,我随机发现以下错误:Ruby on rails Rails未定义方法错误突然出现,ruby-on-rails,Ruby On Rails,我正在使用购物车制作一个应用程序,购物车已经运行了数周,直到今天,我随机发现以下错误: undefined method `title' for nil:NilClass Extracted source (around line #20): <%= link_to product.title, product %> <p><%= number_to_currency(product.price, :un
undefined method `title' for nil:NilClass
Extracted source (around line #20):
<%= link_to product.title, product %>
<p><%= number_to_currency(product.price, :unit => '$') %></p>
<p>Quantity: <%= quantity %></p>
您需要避免在视图中执行查询,但是,如果您想保留该
产品。按\u id查找\u
,则可以在那里添加一个guard类:
<% @cart.each do | id, quantity | %>
<% product = Product.find_by_id(id) %>
<% if product %>
<li>
<%= link_to product.title, product %>
<p><%= number_to_currency(product.price, :unit => '$') %></p>
<p>Quantity: <%= quantity %></p>
</li>
<% total += quantity * product.price %>
<% end %>
<% end %>
“$”)%>
数量:
<div class="shoping-cart">
<h1>Your Cart</h1>
<% if @cart.empty? %>
<p>Your cart is currently empty</p>
<% else %>
<%= link_to 'Empty Cart', cart_clear_path %>
<% end %>
<br><br><br>
<% total = 0 %>
<div class="list">
<ul>
<% @cart.each do | id, quantity | %>
<% product = Product.find_by_id(id) %>
<li>
<%= link_to product.title, product %>
<p><%= number_to_currency(product.price, :unit => '$') %></p>
<p>Quantity: <%= quantity %></p>
</li>
<% total += quantity * product.price %>
<% end %>
<br><br><br>
<p><p><%= number_to_currency(total, :unit => '$') %></p></p>
</ul>
</div>
<% link_to 'pay now', new_charge_path %>
</div>
get '/cart' => 'cart#index'
get '/cart/clear' => 'cart#clearCart'
get '/cart/:id' => 'cart#add'
<% @cart.each do | id, quantity | %>
<% product = Product.find_by_id(id) %>
<% if product %>
<li>
<%= link_to product.title, product %>
<p><%= number_to_currency(product.price, :unit => '$') %></p>
<p>Quantity: <%= quantity %></p>
</li>
<% total += quantity * product.price %>
<% end %>
<% end %>