Ruby on rails 4 如何仅显示spree产品变体图像?

Ruby on rails 4 如何仅显示spree产品变体图像?,ruby-on-rails-4,spree,Ruby On Rails 4,Spree,现在我有下面的代码,它检索附加到Spree产品的所有图像 <% @product.images_by_variant.each do |variant_id,images| %> <ul class="gallery gallery-<%= variant_id %>" data-variant="<%= variant_id %>"> <% images.each do |image| %>

现在我有下面的代码,它检索附加到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 %>

但是,也会显示代表所有变体的图像。我想把那些藏起来

如何仅显示产品的变体(例如不同颜色)


干杯

我找到了解决办法。在products\u controller\u decorator.rb中,我向show方法添加了以下代码:

variants = @product.variants
if variants.blank?
    @variants = @product
elsif variants.length > 1
   @variants = variants.reject {|variant| variant.is_master? }
end
视图中我渲染了以下部分:

<% 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 %>

您使用的是哪个版本的Spree?我没有看到在2.4或master中的
Spree::Product
上定义的
图像。