Страница со списком поставщиков Spree Commerce [NoMethodError: неопределенный метод `each 'для #] - PullRequest
0 голосов
/ 25 июня 2019

Я создаю представление, которое перечисляет всех поставщиков, используя 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

Ошибка, которую я получаю:

NoMethodError в Spree :: Stores # index

Отображение /myapp/app/views/spree/stores/index.html.erb где строка # 36 поднятый:

неопределенный метод `each 'для #

Строка № 36: <% @ vendors.each do | vendor | %>

Как правильно создать экземпляр Vendor Model внутри моего контроллера, чтобы я мог использовать его методы и получать доступ к его атрибутам в представлениях моего магазина?

1 Ответ

1 голос
/ 25 июня 2019

Spree::Vendor это просто модельный класс. Вы можете думать об этом как о любой другой модели - User, Product и т. Д.

В этом случае вы должны позвонить Spree::Vendor.all или Spree::Vendor.active, чтобы получить записи.

...