In Spree Store I have a side bar composed by Taxonomies. Example: Food (taxonomy) |-hamburguer |-french fries
I took the side bar made by taxonomies and I applied the code to build a customized bootstrap menu. And to do that I did that following:
I took the code bellow from _taxonomies.html.rb:
<% max_level = Spree::Config[:max_level_in_taxons_menu] || 1 %>
<nav id="taxonomies" class="sidebar-item" data-hook>
<% @taxonomies.each do |taxonomy| %>
<% cache [I18n.locale, taxonomy, max_level] do %>
<h6 class='taxonomy-root'><%= Spree.t(:shop_by_taxonomy, :taxonomy => taxonomy.name) %></h6>
<%= taxons_tree(taxonomy.root, @taxon, max_level) %>
<% end %>
<% end %>
</nav>
And I did it:(putting it in a _main_bar_menu.html.rb file)
<% max_level = Spree::Config[:max_level_in_taxons_menu] || 1 %>
<nav class="columns sixteen">
<nav id="taxonomies" class="navbar navbar-default" data-hook>
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#menu-produtos-taxonomi" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="menu-produtos-taxonomi">
<ul class="nav navbar-nav">
<li id="home-link" data-hook><%= link_to Spree.t(:home), spree.root_path %></li>
<% @taxonomies.each do |taxonomy| %>
<% cache [I18n.locale, taxonomy, max_level] do %>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
aria-haspopup="true" aria-expanded="false">
<%= Spree.t(:shop_by_taxonomy_only_name, :taxonomy => taxonomy.name) %>
<span class="caret"></span>
</a>
<%= taxons_tree_menu(taxonomy.root, @taxon, max_level) %>
</li>
<% end %>
<% end %>
</ul>
</div>
</div>
</nav>
</nav>
After that, every time I try to access a product page with its details(not a page listing the products of the same time), por exemple:
http://localhost:3000/products/soy-milk?taxon_id=3
I get the following error:
undefined method `each' for nil:NilClass
And it is pointing to that line in _main_bar_menu.html.rb (shown above):
<% @taxonomies.each do |taxonomy| %>
I'm a begginer in Ruby on Rails and Spree, and I don't know how to solve that. If you can help me please ... I would appreciate that.