rails undefine方法大小为零

时间:2016-07-12 11:03:48

标签: ruby-on-rails

我试图在我的navaigation中有这个,它将在购物车中显示产品

 <% if !@order_item.nil? && @order_item.errors.any? %>
      <div class="alert alert-danger">
        <ul>
        <% @order_item.errors.full_messages.each do |msg| %>
          <li><%= msg %></li>
        <% end %>
        </ul>
      </div>
    <% end %>
    <% if @order_items.size == 0%>
      <p class="text-center">
        There are no items in your shopping cart.  Please <%= link_to "go back", root_path %> and add some items to your cart.
      </p>
    <% else %>
      <% @order_items.each do |order_item| %>
        <%= render 'carts/cart_row', product: order_item.product, order_item: order_item, show_total: true %>
      <% end %>
    <% end %>

将其添加到导航中,当我访问其他页面时,它会失败但是当购物车页面工作时。我怎样才能在每一页中都显示出来?

2 个答案:

答案 0 :(得分:0)

您可以使用before_filter调用每个控制器。其中order_items应该在方法中的应用程序控制器中写入。

答案 1 :(得分:0)

我认为你的@order_items是返回集合类型的,所以请检查你的@order_items对象有数据吗? 使用这种方法

.empty?或.nil?

它返回true或false,你得到结果。