2016-10-04 14 views
0

私のデータベースに格納されたイメージをループする必要があります。アップロードには私はペーパークリップを使用します。ここでは、私の変数がコントローラからビューに渡されているのがわかります。ブートストラップカルーセルでレールイメージをループする方法

@slides 

=> [#<Content id: 1, title: "Slider1", content: "", modal_name: "slider", created_at: "2016-09-07 13:01:38", updated_at: "2016-09-07 13:01:38", content_type_id: "2", image_file_name: "family.jpg", image_content_type: "image/jpeg", image_file_size: 862276, image_updated_at: "2016-09-07 13:01:37">, #<Content id: 2, title: "Slider2", content: "", modal_name: "slider", created_at: "2016-09-07 13:02:17", updated_at: "2016-09-07 13:02:17", content_type_id: "2", image_file_name: "go.png", image_content_type: "image/png", image_file_size: 449856, image_updated_at: "2016-09-07 13:02:17">, #<Content id: 18, title: "family", content: "", modal_name: "family", created_at: "2016-10-04 12:53:15", updated_at: "2016-10-04 12:53:15", content_type_id: "2", image_file_name: "family.jpg", image_content_type: "image/jpeg", image_file_size: 862276, image_updated_at: "2016-10-04 12:53:15">, #<Content id: 19, title: "go", content: "", modal_name: "go", created_at: "2016-10-04 12:53:32", updated_at: "2016-10-04 12:53:32", content_type_id: "2", image_file_name: "go.png", image_content_type: "image/png", image_file_size: 449856, image_updated_at: "2016-10-04 12:53:32">, #<Content id: 20, title: "family2", content: "", modal_name: "family2", created_at: "2016-10-04 12:53:53", updated_at: "2016-10-04 12:53:53", content_type_id: "2", image_file_name: "family.jpg", image_content_type: "image/jpeg", image_file_size: 862276, image_updated_at: "2016-10-04 12:53:52">] 

これはハードコードされたビューで、完全に見えますが、私はすべてを破壊するループを作成する必要があります。これが私の見解です:

<header id="myCarousel" class="carousel slide"> 
    <!-- Indicators --> 
    <ol class="carousel-indicators"> 
    <li data-target="#myCarousel" data-slide-to="0" class="active"></li> 
    <li data-target="#myCarousel" data-slide-to="1"></li> 
    <li data-target="#myCarousel" data-slide-to="2"></li> 
    </ol> 

    <!-- Wrapper for slides --> 
    <div class="carousel-inner"> 
    <div class="item active"> 
     <%= image_tag('user/go.png', class: 'fill img-responsive') %> 
     <div class="carousel-caption"> 
     <h2>Caption 1</h2> 
     </div> 
    </div> 

    <div class="item"> 
     <%= image_tag('user/family.jpg', class: 'fill img-responsive') %> 
     <div class="carousel-caption"> 
     <h2>Caption 2</h2> 
     </div> 
    </div> 
    <div class="item"> 
     <%= image_tag('user/family.jpg', class: 'fill img-responsive') %> 
     <div class="carousel-caption"> 
     <h2>Caption 3</h2> 
     </div> 
    </div> 
    </div> 

    <!-- Controls --> 
    <a class="left carousel-control" href="#myCarousel" data-slide="prev"> 
    <span class="icon-prev"></span> 
    </a> 
    <a class="right carousel-control" href="#myCarousel" data-slide="next"> 
    <span class="icon-next"></span> 
    </a> 
</header> 
+0

'div.item'を' image_tag'でループしようとしていますか?そして、あなたはurの試みでコードを追加できますか? – liborza

+0

はい、それはスライダを壊します – user3696668

+0

上記のコードが正しく動作していると言っていますか? – bntzio

答えて

0

私は、これは動作するはずだと思う。.. uは、ループINDICATORSしなければならないので...ここで

<!-- Indicators --> 
    <ol class="carousel-indicators"> 
    <% @slides.each_with_index do |slide, i| %> 
     <li data-target="#mycarousel" data-slide-to=#{i) class="#{'active' if i == 0}"></li> 
    <% end %> 
    </ol> 

<!-- Wrapper for slides --> 
    <div class="carousel-inner"> 
    <% @slides.each_with_index do |slide, i| %> 
     <div class="item #{'active' if i == 0}"> 
     <%= image_tag('user/' + slide.image_file_name , class: 'fill img-responsive') %> 
     <div class="carousel-caption"> 
      <h2>Caption 1</h2> 
     </div> 
     </div> 
    <% end %> 
    </div> 

each_with_index作品と何が間の違いどのように偉大な例です。 each>STACKOVERFLOW

+0

さて、すべての画像がありますが、スライダはループを作っていません – user3696668

+0

ループをまったくしていないか、画像を表示していませんか? – liborza

関連する問題