Страница со списком поставщиков Spree Commerce [NoMethodError: неопределенный метод `each'для #<Class:...>]
Я создаю представление, в котором перечислены все поставщики, использующие расширение 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 ответ
Spree::Vendor
это просто модельный класс. Вы можете думать об этом, как и любая другая модель - User
, Product
, и т.д.
В этом случае вам следует позвонить Spree::Vendor.all
или же Spree::Vendor.active
чтобы получить записи.