首页 > 解决方案 > 狂欢中的 NoMethodError::

问题描述

undefined method `each' for nil:NilClass


  <% @taxonomies.each do |taxonomy| %>
    <% cache [I18n.locale, taxonomy, max_level, @taxon] do %>
      <% if taxonomy.root.children.any? %>

您好,我正在尝试向每一页显示分类法。所以我将此迭代添加到标题中!

并尝试使用 application_cotroller 装饰器请求每个页面!

和:

module Spree
    module ApplicationControllerDecorator
      def some_action
        @taxonomies = Tataxonomy.all
        
      end
    end
end

但是,仍然对如何解决这个问题感到困惑!

标签: ruby-on-railsrubyspree

解决方案


使用调试器(或 byebug)显示@taxonomies返回的内容。

我相信分类模型的名称可能在方法中拼写错误。

应该是这样的:

@taxonomies = Taxonomy.all

而不是这样:

@taxonomies = Tataxonomy.all

推荐阅读