Halaman Daftar Vendor Spree Commerce [NoMethodError : metode tidak terdefinisi `masing-masing' untuk #‹Kelas:›]

Saya membuat tampilan yang mencantumkan semua vendor menggunakan Spree Multi Vendor ekstensi untuk Spree Commerce.

Templat index.html.erb saya:

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

Pengontrol stores_controller.rb saya:

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

Kesalahan yang saya dapatkan:

NoMethodError di Spree::Toko#index

Menampilkan /myapp/app/views/spree/stores/index.html.erb di mana baris #36 dimunculkan:

metode tidak terdefinisi `masing-masing' untuk # ‹ Kelas:0x00007fe3f5570a40 >

Baris #36 : ‹% @vendors.each melakukan |vendor| %>

Bagaimana cara membuat instance Vendor Model dengan benar di dalam pengontrol saya sehingga saya dapat menggunakan metodenya dan mengakses atributnya di tampilan toko saya?


person Naourass Derouichi    schedule 25.06.2019    source sumber


Jawaban (1)


Spree::Vendor hanyalah kelas model. Anda dapat memikirkannya seperti model lainnya - User, Product, dll.

Dalam hal ini, Anda harus memanggil Spree::Vendor.all atau Spree::Vendor.active untuk mengambil catatan.

person MrShemek    schedule 25.06.2019
comment
Terima kasih sobat ! Apakah Anda tahu cara mendapatkan objek vendor dengan mengekstraksi namanya dari url? stackoverflow .com/questions/56766442/ - person Naourass Derouichi; 26.06.2019