2015-01-28 2 views
1

지금 Spree 제품에 첨부 된 모든 이미지를 검색하는 다음 코드가 있습니다.궁극적 인 제품 변형 이미지 만 표시하는 방법은 무엇입니까?

<% @product.images_by_variant.each do |variant_id,images| %> 
    <ul class="gallery gallery-<%= variant_id %>" data-variant="<%= variant_id %>"> 
     <% images.each do |image| %> 
      <li> 
       <%= image_tag(image.attachment.url(:single)) %> 
      </li> 
     <% end %> 
    </ul> 
<% end %> 

그러나 모든 변형을 나타내는 이미지도 표시됩니다. 나는 그들을 숨기고 싶다.

제품에 대해 다른 색상 (예 : 다른 색상) 만 표시하려면 어떻게해야합니까?

건배!

+0

버전은 다음 에서

variants = @product.variants if variants.blank? @variants = @product elsif variants.length > 1 @variants = variants.reject {|variant| variant.is_master? } end 

난 다음 부분을 렌더링 당신이 사용하고 있습니까? 나는 2.4 또는 master에서'Spree :: Product'에 정의 된'images_by_variant'를 보지 못했습니다. – gmacdougall

답변

1

해결책을 찾았습니다. products_controller_decorator.rb에서, I는 방법 코드의 다음 부분을 첨가 : 이어지고의

<% if @variants == @product %> 
    <%= render partial: 'product_single/product_gallery', locals: {variant: @product} %> 
<% else %> 
    <% @variants.each do |variant| %> 
     <%= render partial: 'product_single/product_gallery', locals: {variant: variant} %> 
    <% end %> 
<% end %> 
관련 문제