2011-09-27 103 views
0

如何重写此内容以避免重复条目?如何在嵌套迭代中避免重复条目

images.each do |img| 
    thumbs.each do |th| 
    html << link_to(image_tag("#{th.url}"), "#{img.url}") 
    end 
end 

我想包装缩略图th.url成指向原始图像img.url

起来:
我使用fog宝石摆脱S3 imagesthumbs
他们的文件不同的前缀: storage.directories.get(bucket, :prefix => "thumbs").files

+0

你应该在这里提供更多细节。什么是“图像”和什么是“大拇指”。我认为'图像'是一个Paperclip对象的数组。但我可能是错的。 – Waseem

+0

对不起,现在更新 – NARKOZ

回答

1

为什么不以某种方式与您的图像和缩略图相关?

因此,如果您的图像被称为​​您可以使用缩略图thumbs/image_name.jpg

如果你的名字没有连接,那么为什么不把它们关联到你的应用程序中,以便你使用图像和缩略图名称的关联数组?

my_images = [ "image_1.jpg"=>"aflafffff_thumb.jpg", "image_2.jpg"->"zofofroro_thumb.jpg" ] 

无论哪种方式,您都可以找到每个图像的相应缩略图。

0

你通过两个集合(图像和拇指)循环 - 因此重复。猜测你的图像和拇指对象以某种方式被链接...

例如,拇指可做类似image.thumb

images.each do |image| 
    html << link_to(image_tag(image.thumb.url), image.url) 
end 

通过仅在图像采集,你不会得到重复迭代。

+0

问题是它们没有链接。它们是S3中具有不同前缀的文件,我使用雾宝石来检索它们。 – NARKOZ