2013-02-15 121 views
0

我希望每個循環的第一個元素是「活動」,並用一個活動的css類包裝它。我試過這個,但是現在每個項目都是活躍的。我做錯了什麼?each_with_index工作不正確

#myCarousel.carousel.slide 
    .carousel-inner 
    - @cities.each do |city| 
     - city.activities.find_all_by_homepage_city(true).each do |b| 
     - b.attachments.each_with_index do |a, index| 
      - if index=0 
      .active.item 
       = link_to(image_tag(a.file.url, :height =>"325px", :width =>"650px")) 
       .carousel-caption 
       %h4 yep 1 
      - else 
      .item 
       = link_to(image_tag(a.file.url, :height =>"325px", :width =>"650px")) 
       .carousel-caption 
       %h4 yep 2 

Thanks..remco

+0

嗨Remco,我認爲這是如果條件。你可以嘗試使用'if index == 0'? – Kaeros 2013-02-15 11:39:32

+0

kaeros ..感謝我解決了它......但stil每個項目是「活躍」 – Remco 2013-02-15 11:44:30

+0

考慮重構,如果唯一的變化是一個類名稱,並考慮部分。 – 2013-02-15 13:00:46

回答

4

你有一個錯字,應該是if index == 0if index = 0

無論如何,如果我想要做你正在做的,我會做以下

#myCarousel.carousel.slide 
    .carousel-inner 
    - @cities.each do |city| 
     - city.activities.find_all_by_homepage_city(true).each do |b| 
     - b.attachments.each_with_index do |a, index| 
      %div{ :class => "#{index == 0? 'active item' : 'item'}" } 
      = link_to(image_tag(a.file.url, :height =>"325px", :width =>"650px")) 
      .carousel-caption 
       %h4 
       = index == 0 ? 'yep 1' : 'yep 2' 
什麼
+0

khaled ..謝謝我修好了......但stil每個項目都是「活躍」 – Remco 2013-02-15 11:44:46

+0

嘗試打印索引像'= index'並查看打印值 – Khaled 2013-02-15 11:52:31

+0

我認爲@Khaled並不意味着更多'.active。項目'在'%div {...}'下,這是一個錯字。我想如果你用'.active.item'刪除那行,那麼他的例子應該可以工作。 – NIA 2013-02-15 12:04:41