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 值被静默丢弃,而 <%=
将其输出到浏览器。
我正在为网络应用制作购物车。到目前为止,它有 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 值被静默丢弃,而 <%=
将其输出到浏览器。