【问题标题】:NoMethodError in Spree::狂欢中的 NoMethodError::
【发布时间】:2021-08-01 22:07:00
【问题描述】:
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-rails ruby spree


    【解决方案1】:

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

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

    应该是这样的:

    @taxonomies = Taxonomy.all
    

    不是这样的:

    @taxonomies = Tataxonomy.all
    

    【讨论】:

    • 感谢您的帮助,但这只是拼写错误!
    • @taxonomies 返回什么?
    • 同样的问题!
    • 在方法中设置@taxonomies 之后,您是否在之前放置了调试器或byebug?如果是,它是否返回错误?如果没有,请放置并发布 @taxonomies 变量返回的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多