Ruby on Rails // 在 .each 循环上得到一个奇怪的 Return

Ruby on Rails // Getting a Strange Return on .each loop

我正在为网络应用制作购物车。到目前为止,它有 3 个组成部分:'products'、'line_items' 和 'carts'。流量好像还行。我得到了我想要的所有 return。但是,在 .each 循环之后,我得到了整个产品模型的 return。

正在渲染的代码:

<hr>
<%= @cart.line_items.each do |line_item| %>
   <%# binding.pry %>
   Item: <%= line_item.product.name %><br>
   Price: <%= line_item.product.price %><br>
   Quantity: <%# line_item.quantity %><br>
   <hr>
<% end %>
<hr>

我想不通的是为什么要渲染最后的这一点。当我 运行 a binding.pry 检查“@cart”时,我找不到这个最终的 return。它看起来像是 return 将产品模型作为数组。

我不确定代码的哪些其他部分会有帮助。如果您想看一下,它目前在 GitHub 上是最新的。提前谢谢你。

在您的视图中使用 <% foo.each,而不是 <%= foo.each

后面执行循环,然后输出foo.each的return值,即foo(集合本身)。

It looks like it is returning the product models as an array.

这正是 for.each 所做的。使用 <% 将导致 return 值被静默丢弃,而 <%= 将其输出到浏览器。