Monday, February 20, 2012

[Rails] nil can't be coerced into BigDecimal

hi guys im playing with RoR with the environment of rails 3 ruby 1.9 i
got stuck in

nil can't be coerced into BigDecimal

error

i need to get the total cost of the products inside the cart i know
where the problem is(i think) but i almost did every thing
cart/show.html.rb

<div class="cart_title" >Your Cart</div>
<table>
<% for item in @cart.line_items %>
<tr>
<td><%= item.quantity %>&times;</td>
<td><%= item.product.title %></td>
<td class="item_price" ><%= number_to_currency(item.total_price)
%></td>
</tr>
<% end %>
<tr class="total_line" >
<td colspan="2" >Total</td>
<td class="total_cell" ><%=
number_to_currency(@cart.total_price) %></td>
</tr>
</table>
<%= button_to 'Empty cart', @cart, :method => :delete,
:confirm => 'Are you sure?' %>

model/line_item.rb

def total_price
line_items.to_a.sum { |item| item.total_price }
end
model/cart.rb

def total_price
product.price * quantity
end
my second option is

def total_price
if product.price
product.price * quantity
else
product.price = "0.0".to_d
end
end
but still this wont work

thanks more power to us!

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate