如何使用 bootstrap 旋转木马遍历图像数组
How to iterate through an array of images using bootstrap carousel
<div class="row">
<div class="col-md-12">
<div class="carousel slide" id="myCarousel">
<% if @room.images[0].medium.url %>
<!-- Indicators -->
<ol class="carousel-indicators">
<% @room.images.each do |image| %>
<li data-target="#myCarousel" data-slide-to="<%= @room.image %>"></li>
<% end %>
</ol>
<% end %>
<div class="carousel-inner" role="listbox">
<% if @room.images[0].medium.url %>
<% @room.images.each do |image| %>
<div class="item <%= 'active' if @room.image == @room.images[0] %>">
<%= image_tag @room.images[0].medium.url %>
</div>
<% end %>
<% end %>
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
正在尝试让我的用户上传的图片显示在 bootstrap 轮播中。
图像存在于我的 S3 存储桶中,我可以在我的数据库中看到它们,只是无法让它们显示在轮播中。
如果我在旋转木马之外使用 <%= image_tag @room.images[0].medium.url %> 它会按预期显示数组中的第一张图像。
任何建议都将不胜感激,但我仍在尝试解决这个问题。
<script>
$(function(){
$('#myCarousel').carousel('cycle');
});
</script>
您的 .each
循环中有一个错误。
将代码替换为以下内容
第一个循环
<% @room.images.each do |image| %>
<li data-target="#myCarousel" data-slide-to="<%= image %>"></li>
<% end %>
第二个循环
<% @room.images.each do |image| %>
<div class="item <%= 'active' if image == @room.images[0] %>">
<%= image_tag image.medium.url %>
</div>
<% end %>
希望这能解决您的问题。
<div class="row">
<div class="col-md-12">
<div class="carousel slide" id="myCarousel">
<% if @room.images[0].medium.url %>
<!-- Indicators -->
<ol class="carousel-indicators">
<% @room.images.each do |image| %>
<li data-target="#myCarousel" data-slide-to="<%= @room.image %>"></li>
<% end %>
</ol>
<% end %>
<div class="carousel-inner" role="listbox">
<% if @room.images[0].medium.url %>
<% @room.images.each do |image| %>
<div class="item <%= 'active' if @room.image == @room.images[0] %>">
<%= image_tag @room.images[0].medium.url %>
</div>
<% end %>
<% end %>
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
正在尝试让我的用户上传的图片显示在 bootstrap 轮播中。
图像存在于我的 S3 存储桶中,我可以在我的数据库中看到它们,只是无法让它们显示在轮播中。
如果我在旋转木马之外使用 <%= image_tag @room.images[0].medium.url %> 它会按预期显示数组中的第一张图像。
任何建议都将不胜感激,但我仍在尝试解决这个问题。
<script>
$(function(){
$('#myCarousel').carousel('cycle');
});
</script>
您的 .each
循环中有一个错误。
将代码替换为以下内容
第一个循环
<% @room.images.each do |image| %>
<li data-target="#myCarousel" data-slide-to="<%= image %>"></li>
<% end %>
第二个循环
<% @room.images.each do |image| %>
<div class="item <%= 'active' if image == @room.images[0] %>">
<%= image_tag image.medium.url %>
</div>
<% end %>
希望这能解决您的问题。