我是灵丹妙药的新手,我想要做的是计算用户购物车中商品的总价,并在购物车页面中显示出来。我写了一个函数,它是我在互联网上发现的各种功能的组合。我很感激你的帮助!
这是我的购物车index.html.eex
<h1>Your Cart</h1>
<%= if @books do %>
<ul>
<%= for book <- @books do %>
<li>
<%= book.title %>: £<%= book.original_price %>
<%= link "X", to: Routes.cart_path(@conn, :delete, book_slug: book.slug), method: :delete %>
</li>
<% end %>
</ul>
<% else %>
<p>No books in your cart</p>
<% end %>
<%= total_price(@books) %>和cart_view
def total_price(books) do
shipping = 5.99
price_with_shipping =
Enum.reduce(books, fn book, acc ->
%{total_amount: book.original_price + acc.total_amount + shipping}
end)
|> Map.get(:total_amount)
text = "Total amount: #{price_with_shipping}"
end最后,它只显示这一部分-“总金额:”没有计算的价格与航运。
发布于 2021-06-04 15:00:14
如果您可以在视图中看到“fine.
<%= total_price(@books) %> if子句。尽管如此,以下内容应该是可行的。
def total_price(books) do
shipping = 5.99
price_with_shipping =
Enum.reduce(books, 0, fn %{original_price: price}, acc ->
price + acc + shipping
end)
"Total amount: #{price_with_shipping}"
endhttps://stackoverflow.com/questions/67839220
复制相似问题