Spree Commerce供应商列表页面[NoMethodError:#<Class:...>的未定义方法'each'”

时间:2019-06-25 05:42:58

标签: ruby-on-rails oop model-view-controller spree spree-upgrade

我正在创建一个视图,列出所有使用Spree Multi Vendor扩展名Spree Commerce的供应商。

我的index.html.erb模板:

<% @vendors.each do |vendor| %>
    <h2>
      <%= vendor.name %>
    </h2>
<% end %>

我的stores_controller.rb控制器:

module Spree
    class StoresController < Spree::StoreController  
      def index
        @vendors = Spree::Vendor
      end
    end
end

我得到的错误:

  

Spree :: Stores#index中的NoMethodError

     

显示/myapp/app/views/spree/stores/index.html.erb,其中第36行   提出:

     

#的未定义方法'each'<类:0x00007fe3f5570a40>

     

第36行:<%@ vendors.each做| vendor | %>

如何在控制器内部正确实例化Vendor Model,以便可以使用其方法并在商店的视图中访问其属性?

1 个答案:

答案 0 :(得分:1)

let material = SCNMaterial() material.diffuse.contents = yourCollectionView.view 只是一个模型类。您可以像其他任何模型一样思考它-Spree::VendorUser

在这种情况下,您应该调用ProductSpree::Vendor.all来获取记录。