Ruby - 如何打印HTML属性

时间:2014-01-16 20:33:03

标签: ruby-on-rails ruby

我正在尝试在我的页面上构建一个bootstrap轮播。轮播需要看起来像这样,第一个元素具有活动类。

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

谢谢!

3 个答案:

答案 0 :(得分: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"时。

答案 1 :(得分:1)

我认为这就是你想要的

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

答案 2 :(得分: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>