2014-12-06 88 views
0

未定义的方法`每个”近亲:NilClass施普雷电子商务分类错误

<% max_level = Spree::Config[:max_level_in_taxons_menu] || 1 %> 
    <nav id="taxonomies" class="sidebar-item" data-hook> 

    <% @taxonomies.each do |taxonomy| %> 
    <% unless taxonomy.name == 'Tags' %> 
     <h6 class="taxonomy-root"><%= Spree.t(:shop_by_taxonomy, :taxonomy => taxonomy.name) %></h6> 
     <%= taxons_tree(taxonomy.root, @taxon, Spree::Config[:max_level_in_taxons_menu] || 1) %> 

这是我收到的错误,这是我更新到taxonomies.each.to_a不知道这是正确的代码,我如何更新代码,以便服务器运行新代码而不是旧代码?

这里是更新的代码

<% max_level = Spree::Config[:max_level_in_taxons_menu] || 1 %> 
<nav id="taxonomies" class="sidebar-item" data-hook> 
    <% @taxonomies.each.to_a 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> 

回答

0

看起来你正在做的是迫使零对象数组,将工作内容,YT不是一个理想的解决方案。你可以用整个事情在此:

<% if @taxonomies && @taxonomies.any? %> 
    #your code goes here 
<% end %> 

...这将检查分类变量的存在,并确保它不运行代码之前空数组。至于获取服务器上的代码,您必须发布更多关于部署设置和版本控制的信息来回答这个问题。