我对 RoR 比较陌生,并且在HTML
迭代erb
.
我正在使用twitter bootstrap 图像轮播& 我正在尝试将我的 Apps 图像插入其中。问题是,<li>
轮播中的第一个需要class
与后续的不同<li>
,即class="active"
.
同样,图像的相应<div>
标签也需要class="item active
为第一个<div>
而不是后续<div>
的。
我可以使用代码块正常迭代我的图像,但是当我尝试放入一个if
语句来满足第一次迭代中所需的特殊类时,我遇到了麻烦。我认为我的if
子句没有正确的条件语句,即<% if @hikingtrail.photos[0] %>
,[0]
似乎是错误的。无论如何,当我尝试它时,它会弄乱图像轮播,但不会抛出任何错误,只是图像重叠而不是从一个滑动到下一个。
工作代码 - if 语句之前
<div id="show_right">
<div id="myCarousel" class="carousel slide">
<ol class="carousel-indicators">
<% counter = 1 %>
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<% @hikingtrail.photos.each do || %>
<li data-target="#myCarousel" data-slide-to="<%= counter %>"></li>
<% counter += 1 %>
<% end %>
</ol>
<div class="carousel-inner">
<div class="item active">
<img src="http://twitter.github.com/bootstrap/assets/img/bootstrap-mdo-sfmoma-01.jpg" alt="">
</div>
<% @hikingtrail.photos.each do |photo| %>
<div class="item">
<%= image_tag photo.image_url(:large).to_s %>
</div>
<% end %>
</div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
</div>
</div>
尝试的解决方案(使用 if 语句)
<div id="show_right">
<div id="myCarousel" class="carousel slide">
<ol class="carousel-indicators">
<% counter = 1 %>
<% @hikingtrail.photos.each do || %>
<% if @hikingtrail.photos[0] %>
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<% else %>
<li data-target="#myCarousel" data-slide-to="<%= counter %>"></li>
<% end %>
<% counter += 1 %>
<% end %>
</ol>
<div class="carousel-inner">
<% @hikingtrail.photos.each do |photo| %>
<% if @hikingtrail.photos[0] %>
<div class="item active">
<% else %>
<div class="item">
<% end %>
<%= image_tag photo.image_url(:large).to_s %>
</div>
<% end %>
</div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
</div>
</div>