首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在视图中计算总价

在视图中计算总价
EN

Stack Overflow用户
提问于 2021-06-04 14:41:28
回答 1查看 102关注 0票数 0

我是灵丹妙药的新手,我想要做的是计算用户购物车中商品的总价,并在购物车页面中显示出来。我写了一个函数,它是我在互联网上发现的各种功能的组合。我很感激你的帮助!

这是我的购物车index.html.eex

代码语言:javascript
复制
    <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

代码语言:javascript
复制
  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

最后,它只显示这一部分-“总金额:”没有计算的价格与航运。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-04 15:00:14

如果您可以在视图中看到“fine.

  • <%= total_price(@books) %>
  1. :”部分,视图是 in if子句。
  2. 要计算总计,这是一个数字,而不是地图。因此,减少数量。

尽管如此,以下内容应该是可行的。

代码语言:javascript
复制
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}"
end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67839220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档