1

我的问题详情在这里

@cart.items.each 中 nil:NilClass 的未定义方法“items”

我添加的额外内容是应用程序控制器中的一个购物车方法,并使其成为helper_method以使其在整个应用程序的所有视图中都可用

helper_method :cart

def cart
    @cart = Cart.find(session[:cart_id])
  end

在我看来,我像这样遍历@cart 变量

    <%= cart.items.each do |item| %>
    <tr>
        <td><%= item.product.title%></td>
        <td><%= item.product.price%></td>
    </tr>
    <% end %>

它表明了这一点

在此处输入图像描述

为什么要打印上面的东西?我知道这是item.product.title和所有此类变量的输出。如何删除它?

4

1 回答 1

1

为什么要打印上面的东西?

因为你告诉它。当您将 ruby​​ 代码包围起来时,<%= %>您是在告诉它呈现封闭代码的结果。由于您将它放在each块周围,因此它显示 的结果each,这是调用它的集合。

要删除它,只需使用它<% %>

于 2013-07-30T19:01:18.510 回答