2014-01-16 99 views
0

我想在我的頁面上構建一個引導程序傳送帶。旋轉木馬需要看起來像這樣,第一個元素有一個活躍的類。Ruby - 如何打印HTML屬性

<ol class="carousel-indicators"> 
    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> 
    <li data-target="#carousel-example-generic" data-slide-to="1"></li> 
    <li data-target="#carousel-example-generic" data-slide-to="2"></li> 
    </ol> 

如何在Ruby中實現同樣的功能?我可以從相同的語句中打印數據幻燈片編號和活動類別嗎?

<ol class="carousel-indicators"> 
    <% @order_items.each_index do |n| %> 
    <li data-target="#carousel-order-item" data-slide-to=<%= "#{n}"; (n == 0) ? "class="active"" : '' %>></li> 
    <% end %> 
    </ol> 

謝謝!

+0

你應該邏輯移入的輔助方法 – bjhaid

回答

1

我覺得這是你想要

<li data-target="#carousel-order-item" data-slide-to="<%= n.to_s %>" <%= if (n == 0) ? 'class="active"' : '' %> ></li> 
+0

感謝安德魯。 「class =」Active「」的單引號在Active上添加雙引號,使其成爲class =「」Active「」。所以我現在只有'class = Active',HTMl顯示正確。此外,任何你有to_s在那裏的原因。 –

2

試試這個和評論回到你的結果,這樣我可以進一步協助你什麼。

<% @order_items.each_index do |n| %> 
    <li data-target="#carousel-order-item" data-slide-to="<%= n %>" 
    <%= "class=\"active\"" if n == 0 %> ></li> 
<% end %> 

這工作本身

order_items = %w{ mice rice lice } 

order_items.each_index do |n| 
    puts n 
    puts "class=\"active\"" if (n == 0) 
end 

n == 0然後class="active"將輸出。

+0

太好了,謝謝!看到我的評論安德魯上面,關於雙引號,但除此之外,這個工程。 –

+0

@learning_to_swim現在就試試這個代碼。我逃過了dbl的引號。輸出應該是適當的。快樂編碼:) – fyz

1

那麼這只是一個數組,所以如何獲得每個元素的索引呢?一些喜歡 -

<ol class="carousel-indicators"> 
    <% @order_items.each do |n| %> 
    <li data-target="#carousel-order-item" data-slide-to="<%= n.index %>" class="<%= 'active'if n.index == 0 %>"></li> 
    <% end %> 
    </ol>