0

私の taxons_controller には次のものがあります。

 @taxon = Taxon.find_by_permalink(params[:id])
 @related_products = @taxon.products.offset(rand(Spree::Product.count)).limit(7).name

私はこれの形式をテストしましたが、ランダムなオブジェクトを引っ張っていますが、ショービューに入れると:

    <ul>
      <%= @related_products.each do |related_product| %>
      <li><%= related_product.name %></li>
      <% end %>
    </ul>

Spree/taxons#show で NoMethodError が発生します

undefined method `each' for "Spree::Product":String 抽出されたソース (41 行目付近):

     <ul>
    41.   <%= @related_products.each do |related_product| %>
       <li><%= related_product.name %></li>
       <% end %>
    </ul>

私はあちこちで .each バリエーションを使用してきましたが、何が間違っているのかわかりません。ありがとう!

4

1 に答える 1

1

stringを反復処理する必要があるときに、を反復処理しようとしていarrayます。

# Remove the .name at the end
@related_products = @taxon.products.offset(rand(Spree::Product.count)).limit(7).name
@related_products = @taxon.products.offset(rand(Spree::Product.count)).limit(7)
于 2013-03-21T20:27:17.873 に答える