2016-03-06 89 views
0

我試圖在每次迭代中只添加一個image_tag到第一個循環。image_tag只針對每個迭代的第一個循環

例如,我試圖顯示3張圖片。這是我當前的代碼:

<% @album.each do |album|%> 
    <% @image.each do |image| %> 
    <% if album.id == image.album_id %> 
     <a href="image.jpg"> <%= image_tag image_path %> </a> 
    <% end %> 
    <% end %> 
<% end %> 

如果我通過@image環與3倍的圖像,我會得到這樣的輸出:

<a href="image1.jpg"><img src="image_thumb.jpg"/></a> 
<a href="image2.jpg"><img src="image_thumb.jpg"/></a> 
<a href="image3.jpg"><img src="image_thumb.jpg"/></a> 

我要的是:

<a href="image1.jpg"><img src="image_thumb.jpg"/></a> 
<a href="image2.jpg"></a> 
<a href="image3.jpg"></a> 

這樣做是什麼第一個圖像大拇指將作爲專輯封面。當您點擊鏈接時,它會顯示一個lightbox圖庫,該圖庫會循環顯示該相冊的所有圖像。

我可以用CSS a:nth-​​child和display:none得到這個結果。但顯示:即使沒有顯示任何內容,也不會下載所有的縮略圖圖像。

回答

0

如果相冊和圖像模型與以下關係相關聯:

class Album 
    has_many :images 
end 

class Image 
    belongs_to :album 
end 

然後你可以用下面有更好的表現:

<% @album.each do |album|%> 
    <% album.images.each_with_index do |image, i| %> 
    <a href="image.jpg"> <%= image_tag image_path if i==0 %> </a> 
    <% end %> 
<% end %> 
+0

感謝這部作品和答案的其他問題,我下面問:)非常感謝你。 – Kris