0

默认的 Spree Commerce 具有“类别”和“品牌”分类。我已经生成了一个扩展,它创建了一个自定义测试页面,其中显示了分类法,但顺序相反。这仅用于练习目的。

自定义测试页面“/testing”似乎正确路由并使用视图testing.html.erb,但我无法加载方法中定义的分类法实例。它给了我一个undefined method each for nil:NilClass.

注意:我只在扩展程序中工作,而不是在 spree 应用程序中工作。

spree_custom_extension/controllers/spree/home_controller_extension.rb

module Spree
  HomeController.class_eval do
    def testing
      @taxonomies = Spree::Taxonomy.includes(root: :children).reverse_order
    end
  end
end

spree_custom_extension/views/spree/home/testing.html.erb

<% @taxonomies.each do |taxonomy| %>
  <%= taxonomy.name %><br>
<% end %>

spree_custom_extension/config/routes.rb

Spree::Core::Engine.routes.draw do
  get '/testing' => 'home#testing'
end
4

0 回答 0